Il progetto importato "C: \ Microsoft.CSharp.targets" non è stato trovato


126

Ho ricevuto questo errore oggi quando provavo ad aprire un progetto Visual Studio 2008 in Visual Studio 2005:

Il progetto importato "C: \ Microsoft.CSharp.targets" non è stato trovato.


Ho dovuto rinominare i miei riferimenti da Microsoft.CSharp.Targetsa Microsoft.CSharp.targetsnei .csprojfile.
Stephane

Risposte:


112

Apri il tuo file csproj in notepad (o notepad ++) Trova la riga:

<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

e cambiarlo in

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />

22
Il mio dice "<Import Project =" $ (MSBuildExtensionsPath32) \ ... "
B. Clay Shannon,

@Iomaxx, ho risolto questo problema modificando Monodevelop Build Target su Mono / .NET 4.0 da Mono / .NET 3.5.
Frank,

5
Il mio ha già detto MSBuildBinPath, ma includeva CompactFramework nello spazio dei nomi: <Import Project = "$ (MSBuildBinPath) \ Microsoft.CompactFramework.CSharp.targets" />
Teysz

Se stai usando Monodevelop installa i pacchetti: "mono-msbuild" e "mono-msbuild-sdkresolver". NOTA: testato su Linux Manjaro.
Eduardo Lucio,

Sarà necessario rimuovere il pacchetto "msbuild-stable" (o equivalente) se è installato. NOTA: testato su Linux Manjaro.
Eduardo Lucio,

59

Questa è una soluzione globale, non dipendente da particolari pacchetti o bin.

Nel mio caso, ho rimosso la cartella Pacchetti dalla mia directory principale.

Forse succede a causa dei tuoi pacchetti, ma il compilatore non sta trovando il suo riferimento. quindi rimuovi prima i pacchetti più vecchi e aggiungi nuovi pacchetti.

Passaggi per aggiungere nuovi pacchetti

  • Per prima cosa rimuovi la cartella dei pacchetti ( sarà vicino o passerà alla cartella del tuo progetto attuale ).
  • Quindi riavviare il progetto o la soluzione.
  • Ora ricostruisci il file della soluzione.
  • Il progetto riceverà nuovi riferimenti dal gestore pacchetti nuGet. E il tuo problema è stato risolto.

Questa non è una soluzione adeguata, ma l' ho pubblicata qui perché ho riscontrato lo stesso problema.

Nel mio caso, non sono stato nemmeno in grado di aprire la mia soluzione in Visual Studio e non ho avuto alcun aiuto con altre risposte SO.


1
Come dice Alf Moh, trova quel file altrove sul tuo computer e copialo nella cartella in cui lo sta cercando
Serj Sagan,

@SerjSagan sì, questo aiuterà, ma a volte non è possibile aprire nemmeno un file di soluzione in Visual Studio, a quel tempo la mia soluzione aiuterà ..
Bharat,

5
Ho avuto questo problema su Visual Studio per Mac, il Microsoft.CSharp.targetsfile per qualche motivo è stato eliminato! come hai detto, ho eliminato la packagescartella e riavviato Visual Studio, magicamente ha funzionato!
A-Sharabiani,

1
Ciò ha risolto il problema per me, ma un mio collega è stato in grado di farlo funzionare per la prima volta. Mentre questo funziona, ho qualcos'altro da trovare!
JakePlatford,

1
Bello un fratello! Ho perso 1 ora su questo
Hugo Nava Kopp il

20

Per me il problema era che il percorso del progetto conteneva% 20 caratteri, perché git ha aggiunto quelli invece degli spazi quando è stato clonato il repository. Un altro problema potrebbe essere se il percorso di un pacchetto è troppo lungo.


1
Questo è stato il problema per me. Il nome del progetto conteneva spazio, quindi il nome della directory dopo il clone di git conteneva% 20. Puoi usare git clone <RepoUrl> <LocalDirName>per specificare il nome della directory in cui clonare per evitare di avere% 20
Dan Cook il

11

Questo link su MSDN aiuta anche molto a capire il motivo per cui non funziona. $ (MSBuildToolsPath) è il percorso di Microsoft.Build.Engine v3.5 (inserito automaticamente in un file di progetto quando si crea in VS2008). Se si tenta di creare il progetto per .Net 2.0, assicurarsi di aver modificato questo percorso in $ (MSBuildBinPath) che è il percorso di Microsoft.Build.Engine v2.0.


11

Nel mio caso non sono riuscito a caricare uno su 5 progetti nella mia soluzione.

Mi ha aiutato a chiudere Visual Studio e ho dovuto eliminare la Microsoft.Net.Compilers.1.3.2 cartella nuget nella packagescartella.

Successivamente, riapri la soluzione e il progetto viene caricato come previsto

Per sicurezza, chiudi tutte le istanze di VS prima di eliminare la cartella.


6

Avevo questa linea nel file csproj:

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />

Dopo aver eliminato questo file, funziona benissimo.


6

Se si verifica l'errore che dice Microsoft.CSharp.Core.targets not found, questi sono i passaggi che ho preso per correggere il mio:

  1. Apri qualsiasi cartella di progetti di lavoro precedente e vai al link mostrato nell'errore, ovvero Projects/(working project name)/packages/Microsoft.Net.Compilers.1.3.2/tools/cerca il Microsoft.CSharp.Core.targetsfile.

  2. Copia questo file e inseriscilo nel progetto non funzionante tools folder(ovvero, navigando nella cartella degli strumenti nel progetto non funzionante come mostrato sopra)

  3. Ora chiudi il tuo progetto (se era aperto) e riaprilo.

Dovrebbe funzionare ora.

Inoltre, per assicurarti che tutto funzioni correttamente nel tuo progetto Visual Studio ora aperto, vai a Tools > NuGetPackage Manager > Manage NuGet Packages For Solution. Qui, potresti trovare un errore che dice, CodeAnalysis.dll è utilizzato da un'altra applicazione.

Ancora una volta, vai su tools folder, trova il file specificato ed eliminalo. Torna a Manage NuGet Packages For Solution. Troverai un link che ti chiederà di ricaricare, fare clic su di esso e tutto verrà reinstallato.

Il tuo progetto dovrebbe funzionare correttamente ora.


3

Ho ottenuto questo dopo aver reinstallato Windows. Visual Studio è stato installato e ho potuto vedere il tipo di progetto Silverlight nella finestra Nuovo progetto, ma aprirne uno non funzionava. La soluzione era semplice: dovevo installare il runtime di Silverlight Developer e / o Microsoft Silverlight 4 Tools per Visual Studio. Questo può sembrare stupido, ma l'ho trascurato perché pensavo che dovesse funzionare, dato che il tipo di progetto Silverlight era disponibile.


3

Nel mio caso, ho aperto il mio file .csproj nel blocco note e ho rimosso le seguenti tre righe. Ha funzionato come un fascino:

<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
<Import Project="..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props')" />
<Import Project="..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props')" />

2

ok, e se dicesse questo: tra i segni gt / lt

Importa progetto = "$ (MSBuildExtensionsPath) \ Microsoft \ Silverlight \ v3.0 \ Microsoft.Silverlight.CSharp.targets" /

come posso correggere l'errore target?

Ho anche trovato quella stringa di importazione in un progetto demo (in particolare "Crea il tuo framework MVVM" di Rob Eisenburg).

Se si sostituisce l'importazione che con quello suggerito da lomaxx VS2010 RTM riporta che è necessario installare questo .


2

Per errori con Microsoft.WebApplications.targets, puoi:

  1. Installa Visual Studio 2010 (o la stessa versione della macchina di sviluppo) nel tuo server TFS.
  2. Copia " Microsoft.WebApplication.targets" dal file della macchina di sviluppo alla macchina di compilazione TFS.

Ecco il post.


1

Questo errore può verificarsi anche quando si apre un progetto Silverlight che è stato creato in SL 4, mentre SL 5 è installato.

Ecco un messaggio di errore di esempio: Il progetto importato "C: \ Programmi (x86) \ MSBuild \ Microsoft \ Silverlight \ v4.0 \ Microsoft.Silverlight.CSharp.targets" non è stato trovato.

Nota la v4.0.

Per risolvere, modifica il progetto e trova:

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

E cambiarlo in v5.0.

Quindi ricaricare il progetto e si aprirà (a meno che non si abbia SL 5 installato).


0

Ho eliminato la cartella obj e quindi il progetto caricato come previsto.


0

A volte il problema potrebbe essere con la versione VS hardcoded nel file .csproj. Se hai nel tuo csproj qualcosa del genere:

[...]\VisualStudio\v12.0\WebApplications\Microsoft.WebApplication.targets"

È necessario verificare se il numero è corretto (la ragione per cui è sbagliato può essere che il progetto è stato creato con un'altra versione di Visual Studio). Se è sbagliato, sostituiscilo con la tua attuale versione degli strumenti di compilazione O usa la variabile VS:

[...]\VisualStudio\v$(VisualStudioVersion)\WebApplications\Microsoft.WebApplication.targets"

0

Ho riscontrato questo problema durante l'esecuzione di un playbook Ansible, quindi voglio aggiungere qui i miei 2 centesimi. Ho notato un messaggio di avviso sulla mancanza di Visual Studio 14. Visual Studio versione 14 è stato rilasciato nel 2015 e la soluzione al mio problema era l'installazione di Visual Studio 2015 Professional sul computer host del mio agente DevOps di Azure.


0

Dopo aver provato a ripristinare, chiudendo VS, cancellando il pacchetto fallito, riaprendo, cercando di ripristinare, più volte ho appena cancellato tutto nei pacchetti e quando ho fatto un ripristino e ha funzionato perfettamente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.