不允许从网络位置加载程序集

Not allowed to load assembly from network location

我最近设置了一个新的 Windows Server 2012 R2 环境并安装了 Visual Studio 2012 .

现在我遇到了多个 .NET 4.5 项目的问题,我是从我的旧服务器 Windows Server 2008 机器迁移过来的。这在旧服务器上从未发生过。

尝试从网络位置加载程序集时,我 运行 遇到以下问题:

An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework. This release of the .NET Framework does not enable CAS policy by default, so this load may be dangerous. If this load is not intended to sandbox the assembly, please enable the loadFromRemoteSources switch. See http://go.microsoft.com/fwlink/?LinkId=155569 for more information.

looked at some other questions,但其中 none 提供了可行的解决方案。

这是我目前尝试过的方法:

都没有成功。

是否有其他方法可以解决这个问题?

添加 loadFromRemoteSources switch to machine.config 解决了问题。

MSDN

The loadFromRemoteSources element specifies whether assemblies from remote sources should be granted full trust.

例子

<configuration>
    <runtime>
       <loadFromRemoteSources enabled="true"/>
   </runtime>
</configuration>

你可以找到machine.config here:

32 位

%windir%\Microsoft.NET\Framework\[version]\config\machine.config

64 位

%windir%\Microsoft.NET\Framework64\[version]\config\machine.config

我遇到了同样的问题,当我试图在本地驱动器上加载一个来自互联网 ZIP 的 DLL 时。 解决方案是在其文件属性中解锁 ZIP。最后,再次提取 DLL,现在它加载时没有错误。无需更改 machine.config.