在网络驱动器上运行时,我们的 C++ 解决方案(调用 .NET 4.0 程序集)有一个奇怪的问题。该解决方案使用 NetTcpBinding 托管多个 WCF 服务,其中之一具有非默认绑定配置。在部分信任下,非默认 NetTcpBinding 本身是不可能的(请参阅 Stack Overflow 问题WCF NetTcpBinding 何时需要对客户端完全信任?),但该解决方案在完全受信任的网络驱动器下运行。这确实适用于几台不同的计算机(Windows Vista 和 Windows 7),但在一台(Windows Vista)上失败并抛出异常,
为“system.serviceModel/bindings”创建配置节处理程序时出错:该程序集不允许部分受信任的调用者。(K:\Somepath\Testing.exe.Config 第 6 行)
如果该解决方案确实在该计算机上的部分信任下运行,但它确实在完全信任下运行,则此异常完全可以。即使我检查对代码的完全信任也是如此。
我们用其中一台工作的计算机仔细检查了 Internet 选项 - 没有差异。
所有 DLL 文件和 EXE 文件都是强命名的。
更新:
网络驱动器在特定计算机上完全受信任 ( caspol.exe
)。
我们应该寻找什么?
如果您需要更多信息,请告诉我。
更新 2: 我们仍然有这个问题,现在甚至在一台计算机上(Windows 7)。所以它似乎是独立于操作系统的。