Possiedo un'applicazione console VS 2013 che carica qualsiasi file di soluzione (.sln) - compila tutti i progetti al suo interno utilizzando Roslyn ed estrae le informazioni sull'utilizzo dell'API dal modello di compilazione.MSBuildWorkspace.OpenSolutionAsync alla ricerca di destinazioni in Visual Studio/v14.0
Ora mi trovo di fronte a questo problema particolare: quando eseguo l'applicazione da Visual Studio 2013 (utilizzando Ctrl-F5 o F5), tutto funziona correttamente. Sono in grado di compilare materiale ed estrarre tutte le informazioni. Tuttavia quando apro una riga di comando (cmd) e cercare di eseguire questa applicazione Console dal ottengo il seguente errore:
Unhandled Exception: System.AggregateException: One or more errors occurred. ---> Microsoft.Build.Exceptions.InvalidProjectFileException: The imported project "
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\WebApplications\Microsoft.WebApplication.targets" was not found. Confirm that the path in the <Impor
When I run
Annotare il v14.0 lì. Perché MSBuildWorkspace tenta di esaminare la directory v14.0 per i file di destinazione richiesti? È perché ho installato gli strumenti MSBuild per CTP e il percorso predefinito mentre eseguo roba da una semplice riga di comando è cambiato?
--Edit-- Ecco l'importazione
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
Tuttavia dubito che a che fare con l'istruzione import in quanto tale. Se eseguo l'app della console .exe dal "Prompt dei comandi dello sviluppatore per Visual Studio 2013", tutto funziona di nuovo bene.
Mostraci il '' s nel tuo file di progetto. –
SLaks
Sto colpendo lo stesso problema. Sei mai riuscito a risolvere questo? – ChaseMedallion
Non è una soluzione reale ma, come dici tu, funziona dal prompt dei comandi VS. Come soluzione alternativa, ho creato un file batch che prima chiama "C: \ Programmi (x86) \ Microsoft Visual Studio 12.0 \ VC \ vcvarsall.bat" e quindi l'app funziona correttamente. –