【问题标题】:Uninstalling VS.NET 2010 Beta Breaks .NET?卸载 VS.NET 2010 Beta 会破坏 .NET?
【发布时间】:2009-08-06 13:53:28
【问题描述】:

我已经和 VS.NET 2005 一起运行 VS.NET 2010 beta 几个月了。直到昨天下午,我还在使用 2005 工作。

昨晚我卸载了 VS.NET 2010,但我的 .NET 相关应用程序(VS.NET 2005、SQL Server Management Studio 等)都无法运行。这些产品的安装也不起作用,2.0 SDK 或 2.0 Framework 也不会安装。

他们都因这个错误而失败:

(Msgbox title) ngen.exe - Unable to Locate Component
This application has failed to start because MSVCR100.dll was not found.  Re-installing the application may fix the problem.

当然,它不会,因为这是安装。

有什么想法吗? Google 似乎什么都没有。

【问题讨论】:

    标签: .net visual-studio-2010


    【解决方案1】:

    问题已解决。答案是……卸载 .NET Framework 4.0。 VS.NET 卸载不带它,显然确实删除了 VC 运行时依赖项

    【讨论】:

    • 干杯mtutty。在这种情况下,请注意:在卸载每个 .net 4 组件期间,我遇到了大约 50 个 ngen.exe 崩溃,但在忽略它们之后,它完成了,现在一切似乎都运行良好。
    【解决方案2】:

    首先:切勿在生产机器上安装测试版。请改用虚拟 PC。学过的知识。

    第二:基于提到的 dll,MSVCR100.dll,我会说你已经针对 .NET 4.0 进行了编译。针对 .NET 2.0 重新编译您的程序,一切都应该很好。

    【讨论】:

      【解决方案3】:

      Randolpho 一针见血。永远不要在生产机器上安装 beta 开发工具。始终使用虚拟机或单独的盒子。

      听上去,.NET 为 2.0、3.0、3.5 和 4.0 注册了新的 dll。您可能需要注册表破解才能将框架重新指向正确的位置...检查并报告。

      更新

      在不同的文件夹中查看 .NET 的其余版本

      HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/.NETFramework/{version}/NGETService/Roots
      

      并确保没有对 4.0 dll 的延迟引用。

      【讨论】:

      • 不确定您对“生产”的定义是什么,但我可以随时离开我的开发 PC,并在几个小时内启动并运行另一台。就我而言,VM 不值得性能损失。实际答案是……卸载 .NET Framework 4.0。 VS.NET 卸载不带它,显然确实删除了 VC 运行时依赖项。
      猜你喜欢
      • 2011-07-03
      • 2010-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-17
      • 2015-12-04
      • 2013-09-03
      • 2018-06-15
      相关资源
      最近更新 更多