2015-11-27 2 views
5

Я использую Visual Studio 2015 с ASP .Net MVC 6 в Windows 10. Насколько я могу сказать, все в актуальном состоянии, но я ничего не изменил недавно, что знаю из. За последние пару дней Visual Studio перестала позволять мне сравнивать текущую версию файла * .cshtml, чтобы узнать, какие изменения я сделал. Он работает для всех других типов файлов, которые я пробовал, только эти проблемы.Не удается Git Diff Файлы CSHTML в Visual Studio 2015

Я получаю сообщение об ошибке «Не удалось запустить сконфигурированный инструмент сравнения». Я видел пару других сообщений (например, этот: Visual Studio 2015 using Git unable to compare files и Microsoft Git Provider and Visual Studio 2012 failed to start the configured compare tool), но они, кажется, говорят о более общем, не могут отличить от любой проблемы, что не то, что я вижу. Это почти как если бы git (или VS?) Решил выбрать именно этот тип файла, чтобы не понравиться.

Я попытался создать новый проект ASP .Net с новым репозиторием git, и он видит ту же проблему, и проблема исчезнет, ​​если я переименую файл .cshtml, чтобы дать ему другое расширение. Я посмотрел файл .gitattributes, но ничего не вижу, хотя, если честно, я не совсем понимаю, как git работает за пределами основного «вот как вы его управляете, когда он работает». Я также пытался удалить и переустановить все, что связано с git, которое я могу найти на своем ПК без радости.

У кого-нибудь есть идеи о том, что я мог сломать?

Обновление: Я только что нашел этот https://github.com/aspnet/Tooling/issues/293, который предполагает, что он может быть связан с обновлением ASP .Net. Думаю, мне, наверное, придется подождать и посмотреть.

ответ

2

Это оказалось связано с проблемой с новым ASP .Net оснастки. Они, видимо, получил исправление прокатывать, но до тех пор, пока не произойдет обходной путь:

В панели настроек, перейдите в Настройки-> Текст editor-> HTML-> Расширенный Set удостоверениях личности Полезные Расширения Ложные

Это согласно https://github.com/aspnet/Tooling/issues/293#issuecomment-161382206

0

Проверьте файл .gitignore для ссылок на .cshtml-файлы. Доллары на пончики, что-то вроде * .cshtml в этом конкретном репо. Можете ли вы запустить diff в git вне VS?

+0

ничего не видно в файле .gitignore, и это не только влияет на этот репозиторий (отредактирует вопрос уточнить, что). Файлы проверяются в порядке, просто не будут отличаться. TortoiseGit и командной строки git diff работают нормально. – Tony

11

Очистка кэша MEF также устраняет это. Закройте IDE и удалите содержимое этого каталога:

%LocalAppData%\Microsoft\VisualStudio\14.0\ComponentModelCache

Clear MEF Component Cache (Open VSIX Gallery), вероятно, будет делать трюк, как хорошо.

вероятно, связано с https://stackoverflow.com/a/32376450/1154135

+0

Этот ответ сработал. У меня была такая же проблема через год после этого сообщения. Я закрыл VS и удалил папку ComponentModelCache, и все возвращается к работе. Спасибо. – Thomas

+0

Это помогло мне. C: \ Users \ \ AppData \ Local \ Microsoft \ VisualStudio \ 14.0 \ ComponentModelCache – BeHappy

Смежные вопросы