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

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

  •  15
  • Andreas  · 技术社区  · 16 年前

    我得到以下错误:

    “/”应用程序中存在服务器错误。

    安全例外

    执行不允许的操作 安全策略。同意这一点 申请所需权限 请联系您的系统 管理员或更改 应用程序在

    异常详细信息: System.Security.SecurityException: 该组件不允许部分 受信任的呼叫者。

    [行]

    源文件:App\u Web\u kzj7vfkn.2.cs
    行:0

    编辑

    再仔细研究一下这个问题,似乎是System.Web.UI.ClientScriptManager 这就造成了问题

    6 回复  |  直到 15 年前
        1
  •  19
  •   ccellar Mark Brackett    14 年前

    假设您可以访问库的源代码。

    给出了一个相当详细的解释 here 同时阅读底部的链接以获得更好的理解。

    fuslogvw 找出哪个程序集给您带来了问题。如果这是问题所在,并且您拥有此程序集的源,则还需要应用 [assembly:AllowPartiallyTrustedCallers]

        2
  •  8
  •   banana    9 年前

    对我来说-

    这解决了一个类似的问题:


    然后按解锁按钮: enter image description here

        3
  •  6
  •   Vikas Bansal    9 年前

    我知道现在回答这个问题已经很晚了,但我想再补充一个答案,以帮助未来的访客。

    我的设想

    我在实施 CCA地点 我的支付网关 asp.net 应用程序时,我有这个问题,因为加密 MCPG.CCA.Util

    web.config

    <system.web>
    
      <trust level="Full" />
    
    </system.web>
    
        4
  •  4
  •   Mike_OBrien    10 年前

    当我试图与一个硬件集成时,遇到了这个问题。硬件有自己的安装程序,可以将DLL注册到GAC中。它安装的DLL有2个依赖DLL,但由于某种原因,安装程序运行时没有注册依赖DLL。

    基本上,这个场景是条目DLL在GAC中注册,它的两个依赖DLL没有在GAC中注册,但确实存在于可执行文件旁边。

    我通过在可执行文件旁边放置一个条目DLL的副本来解决这个问题。

    我很好奇什么样的场景会起作用,什么会导致安全性错误,我发现这些场景如预期的那样起作用:

    1. 可执行文件旁边的所有三个DLL。
    2. GAC中的所有三个DLL。

    1. Exe旁边的DLL#2和DLL#3

      • 无法将DLL#2定位为故障DLL。

    失败场景2:

    1. Exe旁边的DLL#3

    失败场景3:

    1. 在GAC中输入DLL和DLL#3
    2. exe旁边的DLL#2

      • (可以预见)无法将DLL#2定位为故障DLL。

        5
  •  0
  •   Murtaza Munshi    9 年前

    我也遇到了类似的问题,我尝试了以上所有的答案,但没有一个对我有效。显然我的情况不同,我的框架是3.5。我把它改为4或以上,它为我工作。

        6
  •  0
  •   Tydaeus Hassan    8 年前

    这里还有另一个可能的解决方案,这取决于您使用的库和您的设置:确保您是从“本地”驱动器运行您的程序。

    这会导致信任问题,这是有道理的,但是一个更有用的错误消息会更好。