代码之家  ›  专栏  ›  技术社区  ›  Frederik Gheysels

尽管区域完全受信任,但该程序集不允许部分受信任的调用方

  •  1
  • Frederik Gheysels  · 技术社区  · 14 年前

    从昨天开始,当我想从内部运行单元测试时,我收到了一个安全异常与.NET2008 错误如下:

    SecurityException: that assembly does not allow partially trusted callers
    ... 
    The assembly that failed was : file:///S:/MyProject/MyAssembly.dll
    

    驱动器是一个映射驱动器,它指向磁盘上的一个物理位置。

    我觉得很奇怪的是,这个以前用了好几个月。我是说,我一直都这样。 为了让它正常工作,我用caspol实用工具创建了一个新的安全区域,以便赋予这个S:networkshare-drive-FullTrust。 换句话说,当我跑的时候

    caspol -m -lg
    

    我看到了这一点(为了简洁起见,我删除了其他区域):

    1.2.  Zone - Intranet: LocalIntranet
       1.2.1.  All code: Same site Web
       1.2.2.  All code: Same directory FileIO - 'Read, PathDiscovery'
       1.2.3.  Url - file://R:/*: FullTrust
       1.2.4.  Url - file://S:/*: FullTrust
       1.2.5.  Url - file:///S:/*: FullTrust
    

    我最近刚刚添加了1.2.5区域,因为给出的错误提到了file:///s://。。。。

    有什么想法吗?

    这可能与安装与.NET2010还是.NET Framework 4.0版?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Tigran    14 年前

    尝试添加

    <configuration>
      <system.web>
        <trust level="Full" />
      </system.web>
    </configuration>
    

    给你的web.config文件.