Dot-Net

從網路位置載入程序集

  • September 16, 2016

我正在嘗試通過以下方式載入程序集:

Assembly component = Assembly.LoadFrom(componentPath);

wherecomponentPath是網路位置的完整路徑並得到以下錯誤:

嘗試從網路位置載入程序集,這會導致程序集在以前版本的 .NET Framework 中被沙盒化。

此版本的 .NET Framework 預設情況下不啟用 CAS 策略,因此這種載入可能很危險。

如果此載入不打算對程序集進行沙箱化,請啟用 loadFromRemoteSources 開關。有關詳細資訊,請參閱<http://go.microsoft.com/fwlink/?LinkId=155569>。

你能解釋一下我應該怎麼做才能避免這個安全檢查嗎?

謝謝

我遇到了同樣的問題。原因是程序集文件被 Windows 阻止了。我通過右鍵點擊程序集文件並選擇屬性來解決它。在“屬性”對話框中,點擊“正常”選項卡下的“**取消阻止”按鈕,然後點擊“**應用” ,然後點擊“確定” 。

參考:http: //blogs.msdn.com/b/drew/archive/2009/12/24/xunit-and-td-net-fixing-the-attempt-was-made-to-load-an-assembly-來自網路位置問題.aspx

除了Furqan Safdar 的回答之外,另一種選擇是在配置文件中添加這個標籤:

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

希望這些連結可以幫助:

<http://msdn.microsoft.com/en-us/library/dd409252(VS.100).aspx>

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