我有一个应用程序不会从本地磁盘读取任何文件,也不会尝试写入任何内容。从UNC运行应用程序的.NET C#导致错误
它在本地文件系统上运行完美,但它需要在几百个工作站上运行,所以我把它放在Win2003服务器上的一个共享上。
但是当我尝试启动它从一个UNC XP工作站:
system.io.fileloadexception
什么可这里的问题?
我有一个应用程序不会从本地磁盘读取任何文件,也不会尝试写入任何内容。从UNC运行应用程序的.NET C#导致错误
它在本地文件系统上运行完美,但它需要在几百个工作站上运行,所以我把它放在Win2003服务器上的一个共享上。
但是当我尝试启动它从一个UNC XP工作站:
system.io.fileloadexception
什么可这里的问题?
问题是XP机器很可能运行早期版本的.Net 2.0。直到3.5 SP1,从UNC共享运行.Net应用程序违反了CLR安全策略。为此,您必须调整本地计算机上的CAS(代码访问安全性)策略。从3.5SP1开始,此要求已被删除。
更多详细信息:
的本地文件系统上只有应用程序有完全信任才能运行。试试下面这个网站上的步骤:
http://dotnetdud.blogspot.com/2009/01/how-to-give-file-share-fulltrust.html
的.Net代码访问安全性可能是原因之一。您可以通过控制面板对其进行调整,并更改“本地Intranet”区域的设置。但是,最好的解决方案是创建自定义策略。
这是因为权限有限。据我记忆,如果你去浏览器,并找到该exe文件,右键单击它,你会看到扩展权限的应用程序选项卡。
谢谢我建议将系统管理员升级到最新的.NET版本,我希望这能解决问题! – YesMan85 2010-03-01 18:25:45