2012-05-25 23 views
1

安裝.NET 4.5 beta後,我注意到我對Assembly.LoadFrom的網絡路徑調用成功,沒有在應用程序配置文件中明確指定「loadFromRemoteSources = true」 (而在.NET 4.0中,這會導致「System.NotSupportedException:嘗試從網絡位置加載程序集,這會導致程序集在以前版本的.NET Framework中被沙盒化。」).NET 4.5/Assemblies從遠程資源加載而不loadFromRemoteSources = true

我不知道這是否真的是新行爲,而不是我的設置中的特殊功能(我還沒有反編譯各自的反射類或調試加載過程來檢查差異),是一種有意改變的政策,並且會留在RTM版本離子?

回答

1

該文檔似乎並沒有表明這種行爲改變。 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