.NET 4.5/Assemblies从远程资源加载而不loadFromRemoteSources = true

问题描述:

安装.NET 4.5 beta后,我注意到我对Assembly.LoadFrom的网络路径调用成功,没有在应用程序配置文件中明确指定“loadFromRemoteSources = true” (而在.NET 4.0中,这会导致“System.NotSupportedException:尝试从网络位置加载程序集,这会导致程序集在以前版本的.NET Framework中被沙盒化。”).NET 4.5/Assemblies从远程资源加载而不loadFromRemoteSources = true

我不知道这是否真的是新行为,而不是我的设置中的特殊功能(我还没有反编译各自的反射类或调试加载过程来检查差异),是一种有意改变的政策,并且会留在RTM版本离子?

该文档似乎并没有表明这种行为改变。 http://msdn.microsoft.com/en-us/library/dd409252(v=vs.110).aspx。我本来期待得到它的通知。

如果它确实以这种方式工作,那么您默认和无形地授予了潜在危险程序集的完全信任,我无法想象这将是一天中的顺序。

你有没有把它添加到machine.config的机会?

另外我会创建一个小程序并将其定位到4.0平台并引发此异常。然后我将它重新定位到4.5,看看它是否确实如此。然后,我会将二进制文件移动到另一台机器并在那里测试。

+0

我的想法确切。我做的第一件事情是对于loadFromRemoteSources的grep“%windir%\ Microsoft.NET \ Framework \ v4.0.30319”,它没有给命中(除了二进制文件)。 – qpp

+0

64位框架呢? –

+0

我的应用程序已被标记为编译成x86指令集。但只有来自x64方面的命中也来自二进制文件。 – qpp