1. 程式人生 > >[C#] 生成 (web): 未能載入檔案或程式集“Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7

[C#] 生成 (web): 未能載入檔案或程式集“Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7

有時候編譯asp.net會遇到奇怪的錯誤:

生成 (web): 未能載入檔案或程式集“Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一個依賴項。未提供所需的模擬級別,或提供的模擬級別無效。 (異常來自 HRESULT:0x80070542)

這個報錯對應的英文是:Either a required impersonation level was not provided, or the provided impersonation level is invalid.

相關的錯誤編號是:ERROR_BAD_IMPERSONATION_LEVEL


你的web.config裡面如果配置了impersonate,那麼會很容易遇到這個問題。

解決辦法有三個:

1、用管理員許可權執行visual studio,這個最粗暴有效,就是每次都要用管理員許可權開啟vs有點麻煩。

2、去掉web.config裡面的impersonate配置,這個未必總能行得通,因為有時候就是需要impersonate。

3、給impersonate的使用者加上足夠大的許可權,這個許可權加起來有點麻煩,因為這個使用者需要能夠操作GAC。不一定能加上足夠的許可權。

我試過方法1和方法2,都好用。