.Net 4.0:获取错误“尝试从网络位置加载程序集,这会导致程序集被沙箱化” 应用设置
<loadFromRemoteSources enabled="true"/>
没有帮助。 我如何才能知道哪个组件导致问题? 我该如何解决?
答案 0 :(得分:38)
我也遇到过这个问题,但我的问题发生了,因为文件已被阻止,因为它是从一个不安全的源代码下载的,在我的情况下是GMail。
解决了这个问题答案 1 :(得分:2)
要查找有问题的程序集,请使用fuslogvw(Windows SDK的一部分,因此随每个Visual Studio一起安装)。
要解决此问题,您实际上必须将loadFromRemoteSources元素添加到应用程序配置文件中。您确定在&lt; runtime&gt;中添加了loadFromRemoteSources吗?元件?
或者,您可以升级到.NET 4.5,因为MSDN表示:
在.NET Framework 4.5中,默认情况下,本地网络共享上的程序集作为完全信任运行;您不必启用元素
答案 2 :(得分:0)
我已经看到过这里提到“网络位置”并且你在本地使用DLL(即不是远程) - 但它是从远程位置(例如互联网文件共享站点)复制的。
在这种情况下的技巧是我怀疑DLL由于流概念而被阻止,但是资源管理器UI属性对话框没有显示“解锁”按钮。
要解决这个问题,我使用了sysinternals工具“streams”(在这里找到:Streams download),如下所示:
streams <your dll> -> view stream
streams -d <your dll> -> delete the stream data on a file
如果你想要定位一组文件,还有一个带-r的递归选项。
我希望这可以帮助其他人 - 这很棘手,因为用户界面没有显示它被阻止,但显然是(可能是由于其他一些安全措施)。
此解决方案还意味着您无需调整loadFromRemoteSources标志,因为这是一个非常广泛的行程。
答案 3 :(得分:0)
如果任何人即使在解除阻止时仍遇到麻烦,请尝试此操作。
我的情况是,我在网络上共享一个文件夹,在其中放置了带有DLL文件的zip文件。从应该使用dll的服务器访问它。如果我从服务器解压缩了zip,则即使解除阻止也无法使用。对我有用的是在源计算机上解压缩zip,然后仅复制所有文件而不是zip文件。我不确定为什么会这样。
也许我的帐户比zip文件的来源更受信任。