Proyek yang diimpor "C: \ Microsoft.CSharp.t target" tidak ditemukan

127

Aku punya kesalahan ini hari ini ketika mencoba untuk membuka Visual Studio 2008 proyek dalam Visual Studio 2005:

Proyek yang diimpor "C: \ Microsoft.CSharp.t target" tidak ditemukan.

lomaxx
sumber
Saya harus mengganti nama referensi saya dari Microsoft.CSharp.Targetsmenjadi Microsoft.CSharp.targetsdalam .csprojfile.
Stephane

Jawaban:

112

Buka file csproj Anda di notepad (atau notepad ++) Temukan baris:

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

dan mengubahnya menjadi

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
lomaxx
sumber
22
Milik saya mengatakan, "<Import Project =" $ (MSBuildExtensionsPath32) \ ... "
B. Clay Shannon
@Iomaxx, Saya memperbaiki masalah ini dengan mengubah Target Build Monodevelop ke Mono / .NET 4.0 dari Mono / .NET 3.5.
Frank
5
Milik saya sudah mengatakan MSBuildBinPath, tetapi itu termasuk CompactFramework di namespace: <Import Project = "$ (MSBuildBinPath) \ Microsoft.CompactFramework.CSharp.t target" />
Teysz
Jika Anda menggunakan Monodevelop, instal paket: "mono-msbuild" dan "mono-msbuild-sdkresolver". CATATAN: Diuji di Linux Manjaro.
Eduardo Lucio
Anda harus menghapus paket "msbuild-stable" (atau yang setara) jika sudah diinstal. CATATAN: Diuji di Linux Manjaro.
Eduardo Lucio
59

Ini adalah solusi global, tidak bergantung pada paket atau bin tertentu.

Dalam kasus saya, saya menghapus folder Paket dari direktori root saya.

Mungkin ini terjadi karena paket Anda ada di sana tetapi compiler tidak menemukan referensinya. jadi hapus paket lama terlebih dahulu dan tambahkan paket baru.

Langkah-langkah untuk Menambahkan paket baru

  • Pertama hapus, folder paket ( itu akan dekat atau satu langkah ke folder proyek Anda saat ini ).
  • Kemudian mulai ulang proyek atau solusi.
  • Sekarang, Bangun kembali file solusi.
  • Proyek akan mendapatkan referensi baru dari manajer paket nuGet. Dan masalah Anda telah teratasi.

Ini bukan solusi yang tepat, tetapi saya mempostingnya di sini karena saya menghadapi masalah yang sama.

Dalam kasus saya, saya bahkan tidak dapat membuka solusi saya di studio visual dan tidak mendapatkan bantuan apa pun dengan jawaban SO lainnya.

Bharat
sumber
1
Seperti yang dikatakan Alf Moh, temukan saja file itu di tempat lain di komputer Anda dan salin ke folder tempat ia mencarinya
Serj Sagan
@SerjSagan ya, itu akan membantu tetapi kadang-kadang Anda bahkan tidak dapat membuka file solusi di studio visual, pada saat itu solusi saya akan membantu ..
Bharat
5
Saya mengalami masalah ini di Visual Studio untuk Mac, Microsoft.CSharp.targetsfile karena alasan tertentu telah dihapus! seperti yang Anda katakan, saya menghapus packagesfolder dan memulai ulang Visual Studio, secara ajaib berhasil!
A-Sharabiani
1
Ini memperbaikinya untuk saya, tetapi seorang rekan saya bisa mendapatkan ini bekerja pertama kali. Sementara ini berhasil, saya punya sesuatu yang lain untuk ditemukan!
JakePlatford
1
Bagus bro! Saya kehilangan 1 jam dalam hal ini
Hugo Nava Kopp
20

Bagi saya masalahnya adalah bahwa jalur proyek berisi% 20 karakter, karena git menambahkan itu alih-alih spasi ketika repositori dikloning. Masalah lain mungkin jika jalur ke paket terlalu panjang.

pengguna2042930
sumber
1
Ini adalah masalah saya. Nama proyek memiliki ruang di dalamnya sehingga nama direktori setelah git clone memiliki% 20 di dalamnya. Anda dapat menggunakan git clone <RepoUrl> <LocalDirName>untuk menentukan nama direktori yang akan digandakan untuk menghindari% 20
Dan Cook
11

Tautan ini di MSDN juga banyak membantu untuk memahami alasan mengapa itu tidak berfungsi. $ (MSBuildToolsPath) adalah jalur ke Microsoft.Build.Engine v3.5 (disisipkan secara otomatis dalam file proyek saat Anda membuat di VS2008). Jika Anda mencoba membangun proyek Anda untuk .Net 2.0, pastikan bahwa Anda mengubah jalur ini ke $ (MSBuildBinPath) yang merupakan jalur ke Microsoft.Build.Engine v2.0.

Oleg Sakharov
sumber
11

Dalam kasus saya, saya tidak dapat memuat satu dari 5 proyek dalam solusi saya.

Ini membantu untuk menutup Visual Studio dan saya harus menghapus Microsoft.Net.Compilers.1.3.2 folder nuget di bawah packagesfolder.

Setelah itu, buka solusi Anda lagi dan proyek dimuat seperti yang diharapkan

Hanya untuk memastikan, tutup semua contoh VS sebelum Anda menghapus folder.

Vojta
sumber
6

Saya dulu memiliki baris berikut ini di file csproj:

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

Setelah menghapus file ini, itu berfungsi dengan baik.

appenthused
sumber
6

Jika Anda menemukan kesalahan yang mengatakan Microsoft.CSharp.Core.targets not found, ini adalah langkah-langkah yang saya ambil untuk memperbaiki milik saya:

  1. Buka folder proyek kerja sebelumnya dan arahkan ke tautan yang ditunjukkan dalam kesalahan, yaitu Projects/(working project name)/packages/Microsoft.Net.Compilers.1.3.2/tools/dan cari Microsoft.CSharp.Core.targetsfile.

  2. Salin file ini dan taruh di proyek yang tidak berfungsi tools folder (yaitu, menavigasi ke folder alat di proyek tidak berfungsi seperti yang ditunjukkan di atas)

  3. Sekarang tutup proyek Anda (jika terbuka) dan buka kembali.

Ini seharusnya bekerja sekarang.

Juga, untuk memastikan semuanya bekerja dengan baik di Proyek Visual Studio Anda sekarang terbuka, Pergi ke Tools > NuGetPackage Manager > Manage NuGet Packages For Solution . Di sini, Anda mungkin menemukan kesalahan yang mengatakan, CodeAnalysis.dll sedang digunakan oleh aplikasi lain.

Sekali lagi, buka tools folder, temukan file yang ditentukan dan hapus. Kembali keManage NuGet Packages For Solution . Anda akan menemukan tautan yang akan meminta Anda untuk Reload, klik dan semuanya akan diinstal ulang.

Proyek Anda seharusnya bekerja dengan baik sekarang.

Alf Moh
sumber
3

Saya mendapatkan ini setelah menginstal ulang Windows. Visual Studio telah diinstal, dan saya dapat melihat jenis proyek Silverlight di jendela New Project, tetapi membukanya tidak berhasil. Solusinya sederhana: Saya harus menginstal runtime Pengembang Silverlight dan / atau Alat Microsoft Silverlight 4 untuk Visual Studio. Ini mungkin tampak bodoh, tetapi saya mengabaikannya karena saya pikir itu harus berfungsi, karena jenis proyek Silverlight tersedia.

Peter
sumber
3

Dalam kasus saya, saya membuka file .csproj saya di notepad dan menghapus tiga baris berikut. Bekerja seperti pesona:

<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')" />
Ben
sumber
2

ok jadi bagaimana jika dikatakan ini: antara tanda gt / lt

Impor Proyek = "$ (MSBuildExtensionsPath) \ Microsoft \ Silverlight \ v3.0 \ Microsoft.Silverlight.CSharp.t Target" /

bagaimana cara memperbaiki kesalahan target?

Saya juga menemukan string impor itu dalam proyek demo (khususnya "Membangun Kerangka MVVM Anda sendiri" oleh Rob Eisenburg).

Jika Anda mengganti impor itu dengan yang disarankan oleh laporan lomaxx VS2010 RTM bahwa Anda perlu menginstal ini .

Andre Luus
sumber
2

Untuk kesalahan dengan Microsoft.WebApplications.targets, Anda dapat:

  1. Instal Visual Studio 2010 (atau versi yang sama seperti di mesin pengembangan) di server TFS Anda.
  2. Salin " Microsoft.WebApplication.targets" dari file mesin pengembangan ke mesin build TFS.

Berikut postingannya.

stack247
sumber
1

Kesalahan ini juga dapat terjadi saat membuka proyek Silverlight yang dibuat di SL 4, saat Anda menginstal SL 5.

Berikut adalah contoh pesan kesalahan: Proyek yang diimpor "C: \ Program Files (x86) \ MSBuild \ Microsoft \ Silverlight \ v4.0 \ Microsoft.Silverlight.CSharp.t target" tidak ditemukan.

Perhatikan v4.0.

Untuk menyelesaikannya, edit proyek dan temukan:

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

Dan ubah ke v5.0.

Kemudian muat ulang proyek dan itu akan terbuka (kecuali jika Anda tidak menginstal SL 5).

Greg Gum
sumber
0

Saya menghapus folder obj dan kemudian proyek dimuat seperti yang diharapkan.

Atron Seige
sumber
0

Terkadang masalahnya mungkin dengan versi VS yang di-hardcode dalam file .csproj. Jika Anda memiliki sesuatu seperti ini di csproj Anda:

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

Anda harus memeriksa apakah nomornya benar (alasannya salah karena proyek dibuat dengan versi Visual Studio lain). Jika salah, gantilah dengan versi alat build Anda saat ini ATAU gunakan variabel VS:

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

Saya mengalami masalah ini saat menjalankan buku pedoman yang mungkin jadi saya ingin menambahkan 2 sen saya di sini. Saya melihat pesan peringatan tentang Visual Studio 14 hilang. Visual Studio versi 14 dirilis pada 2015 dan solusi untuk masalah saya adalah menginstal Visual Studio 2015 Professional di mesin host agen Azure DevOps saya.

Alex
sumber
0

Setelah mencoba memulihkan, menutup VS, menghapus paket yang gagal, membuka kembali, mencoba memulihkan, beberapa kali saya baru saja menghapus semua yang ada di paket dan ketika saya melakukan pemulihan dan itu bekerja dengan sempurna.

Layak7
sumber