Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2008 midl:错误MIDL9008_Visual Studio 2008_Compiler Errors_Idl - Fatal编程技术网

Visual studio 2008 midl:错误MIDL9008

Visual studio 2008 midl:错误MIDL9008,visual-studio-2008,compiler-errors,idl,Visual Studio 2008,Compiler Errors,Idl,我在vs 2008中遇到以下错误: midl:错误MIDL9008:内部编译器问题-有关如何找到解决方法的建议,请参阅文档 midl:断言失败:(rc

我在vs 2008中遇到以下错误:

midl:错误MIDL9008:内部编译器问题-有关如何找到解决方法的建议,请参阅文档

midl:断言失败:(rc<\u MAX\u DIR)&&(rc!=0),文件d:\longhorn\com\rpc\midl\front\filehndl.cxx,第821行


该问题是由文件
%PROGRAMFILES%\Microsoft SDK\Windows\v7.1\Include\Guiddef.h
中的以下代码引起的,该文件位于我用
标记的行中,似乎存在严重损坏的内容。不过,重新安装Windows和Visual Studio有所帮助。

我的
midl*
文件在某个时候“损坏”,可能是在安装了带有所有子组件的
Windows 8.1 SDK
之后,也可能是在更新Visual Studio 2015时-我想,因为我不知道它们可能被覆盖的确切时间

从那以后,我一直在编译一个在那之前还不错的项目
Midlc.exe
甚至在尝试构建某个项目时崩溃

解决方案是替换来自的
midl*
文件

C:\Program Files (x86)\Windows Kits\8.1\bin\x86
(因为midlc.exe和midl.exe就是从这里开始的,通过使用procmon进行验证)

来自另一台不存在问题的机器的相同文件

令人惊讶的是,来自相同文件夹的
midl*
文件的文件大小不同,尽管报告的版本号相同!这清楚地表明,更换它们可能会解决一些问题


复制文件
(midl.exe、midlc.exe、midlrt.exe、midlrtmd.dll)
解决了问题。很高兴我不用重新安装Windows来解决这个恼人和令人沮丧的问题

谢谢你的回答。如果其他人可以确认此解决方案对他们有效,请在评论中告诉我,我会将其标记为答案。
C:\Program Files (x86)\Windows Kits\8.1\bin\x86