首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么当我试图编译"__CrtGetFileInformationByHandleEx“时会得到一个错误

为什么当我试图编译"__CrtGetFileInformationByHandleEx“时会得到一个错误
EN

Stack Overflow用户
提问于 2015-11-15 15:09:57
回答 5查看 9.2K关注 0票数 18

我刚在我的计算机上安装了Visual 2015社区。到目前为止,我一直使用VisualStudio2010Professional。现在,当我试图在web服务器的构建中运行我的MVC应用程序时,我会得到以下错误消息。

过程入口点__CrtGetFileInformationByHandleEx不能位于\WINDOWS\SYSTEM32\msvcp120_clr0400.dll中

如果我试图直接在命令提示符下执行vbc.exe ( Visual编译器),我会得到相同的错误消息。我的MVC应用程序还显示了一个YSOD

编译错误-编译器错误消息:编译器错误代码-1073741511失败。

我如何修复我的VS,以便我可以再次运行我的程序?!

我试过的步骤

  1. 卸载VS 2015社区
  2. 卸载和重新安装.NET 4.6和.NET 4.5.2
  3. DISM /Online /清理-图像/RestoreHealth
  4. .NET修复工具
  5. 运行证监会/scannow
  6. 手动将msvcr120_clr0400.dll文件重命名为msvcr120_clr0400.dll.corrupt并执行1-5操作
  7. 卸载和重新安装VS 2010 w/ SP1

sfc /scannow成功地替换了msvcr120_clr0400.dll文件,但是它用完全相同的CTP文件替换了它!

编辑

“我的系统中的问题dll”可在以下位置下载:

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-11-18 21:28:36

微软在KB3098779和3097997中意识到了这个问题:

https://support.microsoft.com/en-us/kb/3118750

建议卸载这些修补程序,然后重新扫描更新。这些安全补丁的较新版本(不破坏VB编译器)现已可用。

票数 28
EN

Stack Overflow用户

发布于 2015-11-15 17:49:07

好的,我从您上传到共享服务的文件中看到它,您的.NET安装已经损坏。一个标准DLL的地狱问题,您的c:\windows\syswow64\msvcr120_clr400.dll文件是错误的版本。当您使用资源管理器并导航到该文件时,可以看到一些内容。右击并选择Properties,查看Details选项卡.

请注意产品名称中的"CTP“一词,意思是”社区技术预览“。微软的一个术语,意思是"beta版本“。显然,您不应该在您的机器上有VS2013测试版。您的msvcp120_clr0400.dll是正确的,它是文件版本12.0.52512.0。它依赖于CTP版本还没有的msvcr DLL中导出的函数。

这到底是怎么发生的,总是很难逆转的。你是第三个这样的用户,我知道这个星期有这个问题,有点太巧合了。有两个基本的场景,如果您曾经在机器上安装了VS2013 CTP版本,那么问题是它没有得到应有的更新。否则CTP版本的一个非常典型的问题,它们是相当危险的,因为卸载始终是微软最不正确的事情。直到你开始使用一个需要这个导出的程序,问题才被发现。

或者是由流氓安装程序造成的,将旧版本复制到您的计算机上,而不检查版本号。更不可能的是,安装程序从来没有很好的理由安装这个特定的文件,因为它只被.NET框架使用过。因此,我的钱就在你的机器上,被CTP破坏了。

你需要通过修理你的机器来解决这个问题。不是那么容易,你永远无法确定有多少其他坏DLL躺在这么糟糕的CTP卸载。快捷方式是从一台好机器复制这个特定的DLL。但最好是重新安装.NET 4.6。

从OP编辑:

这个答案正确地识别了问题文件,但是重新安装(或任何其他常见步骤)并没有解决问题。最后,我从另一台计算机复制了“好”文件,版本号为12.0.20806.33440。

票数 3
EN

Stack Overflow用户

发布于 2015-11-17 21:54:13

KB3098779似乎是我们服务器上的罪魁祸首。这是安装了上述答案中提到的流氓CTP msvcr120_clr0400.dll的修补程序。解决方案:我们反转了应用KB3098779的修补程序集,一切都恢复正常。FYI:这是一个.NET框架4+问题,而不是Visual。我们的服务器是一个标准的2012 IIS服务器:未安装Visual。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33721216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档