[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,都好用。





posted on 2016-12-27 16:58  如果蜗牛有爱情  阅读(1673)  评论(0编辑  收藏  举报

导航