【问题标题】:Cannot Git Diff CSHTML Files in Visual Studio 2015无法在 Visual Studio 2015 中 Git Diff CSHTML 文件
【发布时间】:2016-03-02 02:53:33
【问题描述】:

我在 Windows 10 上使用带有 ASP .Net MVC 6 的 Visual Studio 2015。据我所知,一切都是最新的,但我最近知道的任何东西都没有改变。在过去的几天里,Visual Studio 已经停止让我比较 *.cshtml 文件的当前版本以查看我做了哪些更改。它适用于我尝试过的所有其他类型的文件,只有这些是问题。

我收到错误消息“无法启动配置的比较工具”。我看过其他几篇文章(比如这篇文章:Visual Studio 2015 using Git unable to compare filesMicrosoft Git Provider and Visual Studio 2012 failed to start the configured compare tool),但他们似乎在谈论一个更普遍的根本无法区分的问题,这不是我所看到的。就好像 git(或 VS?)决定只选择这一种不喜欢的文件类型。

我尝试使用新的 git 存储库创建一个新的 ASP .Net 项目,但它发现了同样的问题,如果我重命名 .cshtml 文件以赋予它不同的扩展名,问题就会消失。我查看了 .gitattributes 文件,但什么也看不到,但老实说,我真的不明白 git 是如何工作的,超出了基本的“这就是你在工作时如何驱动它”。我还尝试删除并重新安装所有与 git 相关的东西,我可以在我的 PC 上找到,但没有任何乐趣。

有人对我可能破坏的内容有任何想法吗?

更新:我刚刚发现了这个https://github.com/aspnet/Tooling/issues/293,这表明它可能与 ASP .Net 更新有关。我想我可能不得不拭目以待。

【问题讨论】:

    标签: asp.net git visual-studio visual-studio-2015


    【解决方案1】:

    清除 MEF 缓存似乎也可以解决此问题。关闭IDE并删除该目录的内容:

    %LocalAppData%\Microsoft\VisualStudio\14.0\ComponentModelCache

    Clear MEF Component Cache(打开 VSIX 库)可能也可以解决问题。

    可能与https://stackoverflow.com/a/32376450/1154135相关

    【讨论】:

    • 这个答案有效。在这篇文章发布一年后,我遇到了同样的问题。我关闭了 VS 并删除了 ComponentModelCache 文件夹,一切都恢复了工作。谢谢。
    • 这对我有帮助。 C:\Users\\AppData\Local\Microsoft\VisualStudio\14.0\ComponentModelCache
    【解决方案2】:

    这与新的 ASP .Net 工具的问题有关。他们显然已经推出了一个修复程序,但在那之前有一个解决方法:

    在选项面板中,转到选项->文本编辑器->HTML->高级 将 Identity Helpful Extensions 设置为 False

    这是根据https://github.com/aspnet/Tooling/issues/293#issuecomment-161382206

    【讨论】:

      【解决方案3】:

      检查您的 .gitignore 文件以获取对 .cshtml 文件的引用。像 *.cshtml 这样的甜甜圈在那个特定的回购中的美元。你可以在 VS 之外的 git 中运行差异吗?

      【讨论】:

      • 在 .gitignore 文件中看不到任何内容,而且它不仅会影响此 repo(将编辑问题以澄清这一点)。文件签入没问题,只是不会有差异。 TortoiseGit 和命令行 git diff 似乎工作正常。
      猜你喜欢
      • 1970-01-01
      • 2015-12-30
      • 1970-01-01
      • 2016-03-13
      • 2016-09-11
      • 2018-11-16
      • 1970-01-01
      • 2022-12-03
      • 2018-12-21
      相关资源
      最近更新 更多