2015-11-27 20 views
5

Sto utilizzando Visual Studio 2015 con ASP .Net MVC 6 su Windows 10. Per quanto posso dire tutto è aggiornato, ma non ho cambiato nulla di recente che conosco di. Negli ultimi due giorni Visual Studio ha smesso di permettermi di confrontare la versione corrente di un file * .cshtml per vedere quali modifiche ho apportato. Funziona per ogni altro tipo di file che ho provato, solo questi sono un problema.Impossibile generare file CSHTML in Visual Studio 2015

Viene visualizzato il messaggio di errore "Impossibile avviare lo strumento di confronto configurato". Ho visto un paio di altri post (come questo: Visual Studio 2015 using Git unable to compare files e Microsoft Git Provider and Visual Studio 2012 failed to start the configured compare tool) ma sembra che si tratti di un problema più generale che non è affatto diff, che non è quello che sto vedendo. È quasi come se git (o VS?) Abbia deciso di scegliere solo questo tipo di file per non piacere.

Ho provato a creare un nuovo progetto ASP .Net con un nuovo repository git e vede lo stesso problema, e il problema scompare se rinomini il file .cshtml per assegnargli un'estensione diversa. Ho dato un'occhiata nel file .gitattributes ma non riesco a vedere nulla, anche se onestamente non capisco davvero come git funzioni oltre il semplice 'questo è come lo guidi quando funziona'. Ho anche provato a rimuovere e reinstallare tutto git related che posso trovare sul mio PC senza gioia.

Qualcuno ha qualche idea su cosa avrei potuto rompere?

Aggiornamento: ho appena trovato questo https://github.com/aspnet/Tooling/issues/293 che suggerisce che potrebbe essere correlato a un aggiornamento .Net di ASP. Immagino che probabilmente dovrò aspettare e vedere.

risposta

2

Questo si è rivelato essere correlato a un problema con il nuovo utensili ASP .Net. Hanno apparentemente ottenuto una correzione per essere lanciato, ma fino ad allora c'è una soluzione:

Nel pannello delle opzioni, vanno a Opzioni-> Testo Editor-> HTML-> Avanzate impostare l'identità di estensioni utili per False

questo è secondo https://github.com/aspnet/Tooling/issues/293#issuecomment-161382206

0

Controlla il tuo file .gitignore per riferimenti a file .cshtml. Dollari alle ciambelle che qualcosa come * .cshtml è in quel repository specifico. Puoi eseguire il diff in git al di fuori di VS?

+0

non riesco a vedere nulla nel file .gitignore, e non riguarda soltanto questo repo (redigerà domanda per chiarire che). I file controllano ok, semplicemente non saranno diff. TortoiseGit e la linea di comando git diff sembrano funzionare bene. – Tony

11

La cancellazione della cache MEF sembra risolvere anche questo. Chiudere l'IDE e cancellare il contenuto di questa directory:

%LocalAppData%\Microsoft\VisualStudio\14.0\ComponentModelCache

Clear MEF Component Cache (aperta VSIX Gallery) probabilmente farà il trucco pure.

probabilmente legati al https://stackoverflow.com/a/32376450/1154135

+0

Questa risposta ha funzionato. Ho avuto questo stesso problema un anno dopo questo post. Ho chiuso VS e ho eliminato la cartella ComponentModelCache e tutto è tornato a funzionare. Grazie. – Thomas

+0

Questo mi ha aiutato. C: \ Users \ \ AppData \ Local \ Microsoft \ VisualStudio \ 14.0 \ ComponentModelCache – BeHappy

Problemi correlati