代码之家  ›  专栏  ›  技术社区  ›  Nasir

C-.NET 4.0-该程序集不允许部分受信任的调用方

  •  1
  • Nasir  · 技术社区  · 15 年前

    从网络共享运行时,我的应用程序引发以下异常:

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

    我的应用程序引用两个dll文件:

    • 位工厂.logging.dll
    • 文件帮助程序.dll

    我不确定是哪一个有问题。

    • AllowPartiallyTrustedCallersAttribute :请仔细阅读,但我没有任何一个dll文件的源,因此无法将属性添加到这些dll文件中。

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

    我以前使用过caspol hack,但是现在它似乎不适用于.NET 4.0。有人能建议我如何绕过这个“部分信任的来电者”检查吗?

    谢谢。

    1 回复  |  直到 11 年前
        1
  •  11
  •   user2864740 Heinzi    11 年前

    .NET 4.0具有 changed the default rules 安全策略。您需要创建或修改 App.config 此应用程序的文件。

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

    <configuration>
       <runtime>
          <!-- enables legacy CAS policy for this process -->
          <NetFx40_LegacySecurityPolicy enabled="true" />
       </runtime>
    </configuration>
    

    可以将.NET 4.0配置为使用 LoadFrom 完全信任以下配置项:

    <configuration>
       <runtime>
          <!-- Treat assemblies from network locations as fully trusted. -->
          <!-- Caution: Do not point this loaded gun at your foot. -->
          <loadFromRemoteSources enabled="true" />
       </runtime>
    </configuration>
    
    推荐文章