我在programmers first发布了此信息,但被告知它属于此处。好笑,我不这么认为。
我在Windows Server 2008 R2的盒子上安装了VS10,以及可以追溯到几年前的其他几个版本的VS.这是我们的生产制造机器。
当我加载或创建任何C ++项目并执行重建或清理时,IDE崩溃。在崩溃细节中,我看到了:
我看到其他报告似乎是网络上的完全相同的错误(example)。除了开票的建议外,我没有看到任何解决方案。
还有其他人遇到并解决了这个问题吗?我已经开了一张MS的门票,但我也在这里张贴我的基地。
我按照评论中的建议运行了一个日志文件。这些是我加载VS后发生的唯一条目,因此这包括构建和扩展。崩溃:
<entry>
<record>229</record>
<time>2010/12/01 19:35:39.804</time>
<type>Information</type>
<source>VisualStudio</source>
<description>Entering function CVsPackageInfo::HrInstantiatePackage</description>
<guid>{68939055-38E0-4D17-92CB-8909710D8178}</guid>
</entry>
<entry>
<record>230</record>
<time>2010/12/01 19:35:39.836</time>
<type>Information</type>
<source>VisualStudio</source>
<description>Begin package load [Windows Forms Designer Hosting Package]</description>
<guid>{68939055-38E0-4D17-92CB-8909710D8178}</guid>
</entry>
<entry>
<record>231</record>
<time>2010/12/01 19:35:39.882</time>
<type>Information</type>
<source>VisualStudio</source>
<description>End package load [Windows Forms Designer Hosting Package]</description>
<guid>{68939055-38E0-4D17-92CB-8909710D8178}</guid>
</entry>
答案 0 :(得分:3)
如何直接联系MS支持?如果这阻碍了你的工作,你可以推动他们修复它(虽然不知道成本,可能取决于你的许可证的产品和特性......)。
或者,您可以在命令行中构建解决方案:打开VS 2010命令提示符(快捷方式位于开始菜单中的某个位置):
msbuild yoursolution.sln /p:Configuration=Debug
不应该使用devenv.exe(这是崩溃的东西)并直接调用工具。
答案 1 :(得分:2)
P8存储桶有一个奇怪的值,至少与我的机器相比。检查this post以了解对崩溃方法进行反向工程的方法。崩溃程序集存储在我的计算机上的C:\ Windows \ Microsoft.NET \ assembly \ GAC_MSIL \ Microsoft.VisualStudio.Shell.10.0 \ v4.0_10.0.0.0__b03f5f7d50a3a目录中。
P7存储桶(请注意,您的链接不匹配)指向ServiceProvider.GetService()。 P8桶的IL偏移量为0x4b,但我看到方法结束于0x41。但是,我还没有弄清楚当JIT编译代码得到优化时真正的准确性。
如果这个准确无误,那么你就没有多少领先优势。 GetService()方法绝对是通用的。虽然它确实看起来像是一个不能在演员阵容中存活下来的糟糕演员。这是插件可能搞乱的东西。
顺便说一下,这实际上不会影响构建输出,MSBuild.exe作为单独的进程运行。
答案 2 :(得分:0)
对于仍有这个问题的人来说,修复我的答案就是我曾试图从我的计算机上彻底擦除Internet Explorer,导致DLL调用失败,导致devenv崩溃。
以下是他们的官方解决方案页面: http://support.microsoft.com/kb/983279
我向微软提出的问题是......为什么在任何情况下依赖Internet Explorer编译应用程序都是有意义的?