从网络共享运行c#app

我是c#的新手,所以如果我问一些入门级问题,请原谅我。

目前,我有一个小窗口表单,上面有取消按钮。 我注意到当我在本地机器上运行时,取消按钮工作正常。 但是当从xp机器上的网络位置运行时,它给了我安全性exception。 exception告诉我我不能调用非托管代码等….但我的表单只有一个按钮,而事件处理程序中的代码是:Application.Exit();

谷歌搜索后,我发现我可以通过mscorcfg.msc进行更改,以获得Intranet的许可。 这对我有用。

我找到的其他解决方法是http://msdn.microsoft.com/en-us/library/aa288469(v=vs.71).aspx

但是,这只是一台机器的解决方法,如果我有一百台机器怎么办?

所以我认为必须有一些其他方法来处理这个问题,任何人都可以帮忙吗?

它是.NET框架本身的一个特性:代码访问安全性。

默认情况下,网络共享上的代码将以具有较低权限级别的LocalIntranet安全级别运行,而不是在作为“安全”位置的本地驱动器上运行。

您可以使用工具caspool来摆脱此限制,并在网络位置也为可执行文件提供信任执行,例如:

caspol -machine -addfulltrust program.exe 

更新到更新版本的框架。 如果您运行.Net 3.5 sp1或更高版本,.Net不再对网络共享强制执行此操作。