C# – .NET 4.0 – 该程序集不允许部分信任的调用者

从网络共享运行时,我的应用程序抛出以下exception:

该程序集不允许部分信任的调用者。

我的应用引用了两个DLL文件:

  • BitFactory.Logging.dll
  • FileHelpers.dll

我不确定它有哪些问题。

  • AllowPartiallyTrustedCallersAttribute :读取它,但我没有任何DLL文件的源,所以我无法将属性添加到这些DLL文件。

  • CASPOL.EXE :使用一些变体添加我的网络共享,例如caspol -machine -addgroup 1. -url \\netserver\netshare\* LocalIntranet似乎没有任何影响。

我曾经使用过.NET 3.5的CASPOL hack,但是,它现在似乎不适用于.net 4.0。 任何人都可以建议如何绕过这个“部分受信任的来电者”检查?

谢谢。

.NET 4.0已更改安全策略的默认规则 。 您需要为此应用程序创建或修改App.config文件。

现在,在.NET 4.0中默认忽略代码访问安全性(由CASPOL配置)。 如果要启用它,则需要将以下内容添加到app.config文件中:

       

您可以将.NET 4.0配置为使用LoadFrom将代码从网络中视为完全受信任,具有以下配置项: