2013-04-24 89 views
0

我有一個奇怪的問題:我部署了一個使用反射的.NET 2.0應用程序,一旦我調用Assembly.LoadFile,我就得到了一個策略異常。錯誤如下:.NET反射策略異常

Could not load file or assembly 'xxx, Version=11.5.23.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. PolicyException thrown. (Exception from HRESULT: 0x80131416) at System.Reflection.Assembly.nLoadFile(String path, Evidence evidence) at System.Reflection.Assembly.LoadFile(String path) 

要加載的程序集位於調用程序集的子文件夾中。該應用程序在其他環境中運行良好,我從來沒有遇到過這種問題。我想這個問題的發生是因爲我從網上下載了包含程序集的zip文件,以及標記爲不可信的二進制文件,我不得不「解鎖」每個單個文件。

目標pc正在運行W2008 R2。 在同一臺電腦上,我正在運行另一個軟件,它以相同的方式使用反射,並且工作正常。 我試圖重新安裝應用程序,但我得到了同樣的問題。我找不到在pc中爲.NET程序集設置默認信任級別的方法。

任何想法,將不勝感激。

在此先感謝。

回答

0

當我將相同的組策略添加到相同的文件夾時,我遇到了此問題。我執行以下步驟來解決這個問題:

視圖組的權限列表:

CD C:\Windows\Microsoft.NET\Framework\v2.0.50727 
Caspol -a -listgroups 

查找重複組的權限,並通過運行刪除重複的組權限:

Caspol -rg {Add here the group policy number}