应用程序从远程文件夹启动时抛出SecurityException

Tre*_*reb 3 .net security

我有一个用C#编写的应用程序,它位于网络共享上.当我从本地驱动器运行它时,一切正常.当我从远程共享启动它时,调用如

try
{
    System.Reflection.Assembly.GetExecutingAssembly();
    System.IO.Directory.GetCurrentDirectory();
}
Run Code Online (Sandbox Code Playgroud)

抛出SecurityException'请求失败'.

是什么导致这种情况,本地启动的应用程序和从远程位置启动的应用程序之间有什么区别?

Mar*_*ell 5

这是由于CAS ; 从本地计算机启动的代码比内联网中的代码具有更多的信任,这反过来又更加信任来自Internet的代码.

IIRC,使用最新的SP(3.5SP1?),如果你已经映射了共享(即F :)它是值得信任的; 否则你需要:

a:对所有客户应用caspol更改(是的)

b:使用ClickOnce部署应用程序,然后运行.application(耶!)

关键是ClickOnce允许您签署应用程序并声明您的安全策略(即使您要求完全信任).