Jawaban:
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" />
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
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.
Microsoft.CSharp.targets
file karena alasan tertentu telah dihapus! seperti yang Anda katakan, saya menghapus packages
folder dan memulai ulang Visual Studio, secara ajaib berhasil!
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.
git clone <RepoUrl> <LocalDirName>
untuk menentukan nama direktori yang akan digandakan untuk menghindari% 20
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.
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 packages
folder.
Setelah itu, buka solusi Anda lagi dan proyek dimuat seperti yang diharapkan
Hanya untuk memastikan, tutup semua contoh VS sebelum Anda menghapus folder.
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.
Jika Anda menemukan kesalahan yang mengatakan Microsoft.CSharp.Core.targets not found
, ini adalah langkah-langkah yang saya ambil untuk memperbaiki milik saya:
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.targets
file.
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)
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.
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.
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')" />
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 .
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).
Saya menghapus folder obj dan kemudian proyek dimuat seperti yang diharapkan.
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"
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.
Microsoft.CSharp.Targets
menjadiMicrosoft.CSharp.targets
dalam.csproj
file.