0

我正在从网络共享执行我的.NET应用程序。.NET EXE在网络上的卫星程序集和FullTrust问题

因为框架3.5 SP1,并为这里解释:http://blogs.msdn.com/shawnfa/archive/2008/05/12/fulltrust-on-the-localintranet.aspx,主要exe文件,并且都位于同一个文件夹(但不是子文件夹)与FullTrust的安全策略被授予的所有DLL。

我的问题是,我有本地化字符串的卫星程序集的子文件夹。

即,我有:

1) FOLDER\APP.EXE 
2) FOLDER\A whole bunch of DLLs 
3) FOLDER\LANGUAGE1\Satellite assemblies 
4) FOLDER\LANGUAGE2\Satellite assemblies 

1和2会自动与FullTrust理所当然的。

3和4不是,我的应用程序真的很慢,因为这一点。

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

如果没有,是否有一个干净的方式来将卫星程序集合并成只有一个DLL?

+0

你仍然可以使用caspol.exe:http://blogs.msdn.com/shawnfa/archive/2004/12/30/344554.aspx – 2010-04-01 13:26:28

+1

我可以但我需要一个解决方案,不会强迫用户改变他们的计算机安全策略。 – leo 2010-04-01 14:01:44

+0

没有C#.NET这样的东西。 – 2010-04-01 20:22:50

回答

0

您可以使用自己创建的密钥签署所有程序集。然后充分信任任何用你的密钥签名的东西(但是每个客户端使用一次卡斯波尔)。或者,从可信来源获取密钥并签署(但这需要花费)。