Saya memiliki aplikasi ASP.NET MVC 4 yang dikembangkan pada VS 2012. Aplikasi ini terdiri dari proyek utama (MyProject), proyek uji unit (MyProject.Tests), proyek penyebaran Azure (MyProject.Azure), dan beberapa proyek perpustakaan tujuan umum.
Ketika saya mengklik kanan pada solusi atau proyek utama dan memilih Kelola Paket NuGet, saya melihat banyak pembaruan Microsoft yang tampaknya tersedia dalam sebulan terakhir ini. Jika saya mengklik tombol Perbarui Semua maka pembaruan tampaknya diinstal tanpa masalah yang jelas, tetapi ketika saya membangun solusi, saya mendapatkan pesan kesalahan ini DUA KALI:
warning : All projects referencing MyProject.csproj must install nuget package Microsoft.Bcl.Build
Ok, jadi saya punya dua proyek yang mereferensikan MyProject: MyProject.Tests dan MyProject.Azure. Saya dapat mengklik kanan MyProject.Tests, pilih ManageNuGet Packages, dan tambahkan Microsoft.Bcl.Build. Itu menghilangkan salah satu dari dua peringatan. Tetapi VS tidak memberi saya pilihan untuk mengelola paket NuGet untuk proyek MyProject.Azure .
Bagaimana cara menambahkan paket Microsoft.Bcl.Build ke proyek penyebaran Azure?
EDIT:
Berkat pembengkakan pengguna , saya sekarang tahu bahwa masalah Microsoft Connect untuk masalah ini telah dibuka di sini .
sumber
Jawaban:
Jika Anda mengklik dua kali peringatan itu memberi Anda instruksi untuk menonaktifkan peringatan.
Aman untuk menonaktifkan referensi proyek dari proyek yang belum mendukung Nuget.
Lihat bagian di bawah dengan huruf tebal disalin dari Microsoft.Bcl.Build.t target.
BclBuildValidateNugetPackageReferences
Target ini dapat dinonaktifkan untuk referensi proyek dengan menyetel SkipValidatePackageReferences = true untuk referensi:
sumber
Jawaban yang diberikan oleh TheESJ benar, namun kata-katanya tidak jelas bagi saya. Karena saya tidak bisa mengomentari jawabannya, saya akan memberikan detail lebih lanjut di sini. Secara khusus, saya mengalami masalah ini dengan proyek Azure dan solusi berikut diperlukan untuk menghilangkan peringatan:
Saat Anda mengklik dua kali peringatan di VisualStudio, Anda akan dibawa ke target BclBuildValidateNugetPackageReferences di file Microsoft.BclBuild.t target. Di atas elemen target sebenarnya, Anda harus menemukan blok komentar besar yang berbicara tentang menonaktifkan pemeriksaan referensi proyek. Karena proyek Azure tidak dapat memiliki referensi pustaka apa pun, tidak mungkin bagi proyek Azure tersebut untuk memenuhi persyaratan target pembuatan khusus ini.
Solusinya? Nonaktifkan pemeriksaan referensi dari proyek Azure karena tidak mungkin untuk benar-benar menambahkan referensi paket nuget.
CONTOH
Jadi, asumsikan kita memiliki dua proyek: MyAzureProject.ccproj yang mereferensikan MyProject.csproj . Ikuti langkah ini:
Temukan referensi proyek untuk "MyProject." Ini akan terlihat seperti:
Tambahkan elemen berikut di dalam elemen ProjectReference:
Referensi proyek Anda sekarang akan terlihat seperti ini:
Klik kanan pada "MyAzureProject" di Solution Explorer dan pilih "Reload Project."
Anda sekarang harus dapat membangun kembali dan kesalahan harus hilang.
sumber
MyAzureProject.ccproj
bukanMyAzureProject.csproj
?Saya menghadapi masalah yang sama dan mencoba memperbarui Microsoft.Bcl.Build.t target; yang tidak membantu.
Setelah beberapa penyelidikan menemukan bahwa file .csproj dari proyek Layanan Azure harus dimodifikasi untuk disertakan
<Properties>SkipValidatePackageReferences=true</Properties>
.Ini tidak terlihat dari jawaban @TheESJ dan memutuskan untuk memposting jawaban terpisah. Terima kasih untuk @TheESJ.
sumber
Saya mengalami masalah ini beberapa kali, dan metode Properties memang berfungsi, tetapi ketika berurusan dengan proyek Wix, saya harus melakukan hal berikut:
Ketika saya menggunakan node Properties Xml, saya mendapat kesalahan baru:
sumber
Setelah gagal menyelesaikan masalah dengan salah satu jawaban di atas, saya cukup mengikuti instruksi yang terdapat dalam file Microsoft.Bcl.Build.t target (ditampilkan setelah mengklik dua kali pada kesalahan di jendela build output). Saya membongkar proyek saya (merujuk paket Azure), mengalami kesalahan. Mengedit file proyek dan memasukkan yang berikut ...
... di bagian atas file proyek sebelum PropertyGroup pertama.
sumber