当.NET exe在网络上时,卫星程序集和FullTrust问题

时间:2010-04-01 10:12:58

标签: c# .net-3.5 code-access-security satellite-assembly full-trust

我正在从网络共享中执行我的.NET应用程序。

从框架3.5 SP1开始,如下所述:http://blogs.msdn.com/shawnfa/archive/2008/05/12/fulltrust-on-the-localintranet.aspx,主exe和位于同一文件夹(但不是子文件夹)的所有DLL都被授予FullTrust安全策略。

我的问题是我有带有本地化字符串的附属程序集的子文件夹。

即,我有:

1) FOLDER\APP.EXE
2) FOLDER\A whole bunch of DLLs
3) FOLDER\LANGUAGE1\Satellite assemblies
4) FOLDER\LANGUAGE2\Satellite assemblies
使用FullTrust自动授予

1和2。

3和4不是,因此我的应用程序非常慢。

有没有办法授予3& 4运行时的FullTrust安全策略,因为运行的应用程序具有FullTrust?

如果没有,是否有一种干净的方法将卫星组件合并到一个DLL中?

1 个答案:

答案 0 :(得分:0)

您可以使用自己创建的密钥对所有程序集进行签名。然后完全信任用你的密钥签名的任何东西(但是每个客户一次使用caspol)。或者,从受信任的来源获取密钥并与之签名(但这需要花钱)。