Load assembly from network location

北战南征 提交于 2019-11-27 06:42:18

问题


I am trying to load assembly by :

Assembly component = Assembly.LoadFrom(componentPath);

where componentPath is a full path of network location and get the the following error:

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.

Can you please explan what should i do to avoid this security check ?

Thank You


回答1:


Read Best Practices for Assembly Loading to get an idea.
Also read this msdn blog on .NET Security




回答2:


I was having this same issue. The reason was that the Assembly file was blocked by Windows. I resolved it by right clicking on the Assembly file and selecting properties. In the Properties dialog, click Unblock button under the General tab and click Apply and then OK.

Reference: http://blogs.msdn.com/b/drew/archive/2009/12/24/xunit-and-td-net-fixing-the-attempt-was-made-to-load-an-assembly-from-a-network-location-problem.aspx




回答3:


In addition to Furqan Safdar's answer, another option would be to add this tag in the configuration file:

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

Hope these links could help:

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



来源:https://stackoverflow.com/questions/5328274/load-assembly-from-network-location

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!