今天早上,在重新开始工作,并尝试在我们内部的网络服务上“构建网站”时,我遇到了这个问题:
------ Build started: Project: C:\...\SyncWcfService\, Configuration: Debug Any CPU ------
Validating Web Site
vbc : Fatal (0,0): error BC2000: compiler initialization failed unexpectedly: Unable to find required file 'Microsoft.VisualBasic.dll'.
Validation Complete
这是我第一次加载这个项目,但另一位同事有同样的问题,并且他在上个月成功运行了它。
存在大量文件副本(许多不同的版本),它存在于GAC中: 全局程序集缓存包含以下程序集:
Microsoft.VisualBasic,Version = 8.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a,processorArchitecture = MSIL
清洁和重建不起作用。也没有删除所有临时文件,谷歌没有显着帮助(它建议重新安装.net框架,但问题出现在至少两台机器上,这让我觉得不太可能是一个框架问题)。详细的诊断构建仅生成上面的输出。
我很茫然。有人有任何想法吗?
更新: Procmon报告:
09:00:41.5420355
devenv.exe
5588
CreateFile
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\vbc : Fatal
NAME NOT FOUND
Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a
这有点帮助(感谢Jeremy),但这似乎表明它正在尝试创建一个名为“vbc:Fatal”的文件。我从未发现任何与Microsoft.VisualBasic.dll
有关的内容更新:这似乎是由清除web.config中的程序集引起的。
如果我从编译中删除行<clear />
- &gt;组件,错误就消失了。
答案 0 :(得分:0)
查看web.config的编译部分。有什么不寻常的吗?
尝试用以下内容替换整个编译部分:
<compilation debug="false" strict="false" explicit="true" targetFramework="4.0" />
项目是否有效?
是这样,一个接一个地添加违规行,直到错误重新出现。