从网络共享运行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不再对网络共享强制执行此操作。