Dot-Net

不允許從網路位置載入程序集

  • February 5, 2015

我最近設置了一個新的Windows Server 2012 R2環境並安裝了Visual Studio 2012

現在,我從舊伺服器(一台 Windows Server 2008 機器)遷移的多個**.NET 4.5**項目​​遇到了問題。這在舊伺服器上從未發生過。

嘗試從網路位置載入程序集時,遇到以下問題:

嘗試從網路位置載入程序集,這會導致程序集在以前版本的 .NET Framework 中被沙盒化。此版本的 .NET Framework 預設情況下不啟用 CAS 策略,因此這種載入可能很危險。如果此載入不打算對程序集進行沙箱處理,請啟用 loadFromRemoteSources 開關。有關詳細資訊,請參閱<http://go.microsoft.com/fwlink/?LinkId=155569>。

查看 其他一些 問題,但沒有一個提供有效的解決方案。

這是我迄今為止嘗試過的:

  • loadFromRemoteSources將開關添加到devenv.configXDesProc.exe.appx.configXDesProc.exe.config
  • 檢查程序集是否被**阻止**,不是。
  • 嘗試使用**CasPol**實用程序,即使這僅適用於 .NET 4.0 之前的項目。

都沒有成功。

有沒有另一種解決方案來解決這個問題?

loadFromRemoteSources 開關添加到**machine.config**解決了這個問題。

MSDN

loadFromRemoteSources元素指定是否應授予來自遠端源的程序集完全信任。

例子

&lt;configuration&gt;
   &lt;runtime&gt;
      &lt;loadFromRemoteSources enabled="true"/&gt;
  &lt;/runtime&gt;
&lt;/configuration&gt;

您可以在此處找到machine.config

32 位

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

64 位

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

引用自:https://stackoverflow.com/questions/28339116