Saya menggunakan VS 2015.
Proyek Anda tidak mereferensikan kerangka kerja ".NETFramework, Version = 4.5". Tambahkan referensi ke ".NETFramework, Version = 4.5" di bagian "frameworks" project.json Anda, lalu jalankan kembali NuGet restore.
Saya mendapatkan kesalahan ini pada lapisan Akses Data dan Logika Bisnis saya, segera setelah menambahkan ke Lapisan MVC saya. Segalanya baik-baik saja sampai saat itu, tetapi saya tidak tahu apa yang memicu kesalahan ini. Ini project.json saya:
{
"version": "1.0.0-*",
"description": "foo bar Class Library",
"authors": [ "foo bar" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"frameworks": {
"net451": { },
"dotnet5.4": {
"dependencies": {
"Microsoft.CSharp": "4.0.1-beta-23516",
"System.Collections": "4.0.11-beta-23516",
"System.Linq": "4.0.1-beta-23516",
"System.Runtime": "4.0.21-beta-23516",
"System.Threading": "4.0.11-beta-23516"
}
}
}
}
Inilah yang saya coba:
- Mengganti "dotnet5.4" dengan "net451" (dan menghapusnya) seperti yang ditemukan dalam jawaban ini .
Hasilnya adalah kesalahan yang sama.
- Mengganti "dotnet5.4" dengan "net45" dan meninggalkan "net451". Ini menghasilkan kesalahan baru:
Project.json Anda tidak memiliki bagian runtimes. Anda harus menambahkan '"runtimes": {"win": {}}' ke project.json Anda dan kemudian menjalankan kembali NuGet restore.
Saya mencoba melakukan seperti yang disarankan kesalahan ini dan menambahkan
"runtimes": {
"win": {}
},
Ini memberi saya kesalahan ini, yang sepertinya tidak bisa saya lewati:
Project.json Anda tidak mencantumkan 'menang' sebagai runtime yang ditargetkan. Anda harus menambahkan '"win": {}' di dalam bagian "runtimes" di project.json Anda, dan kemudian jalankan kembali NuGet restore.
Saya sudah menambahkan "menang", dan ini mulai terasa seperti ikan haring merah. Apa yang saya lakukan untuk mengubah project.json secara langsung, bukankah NuGet menangani ini?
sumber
Jawaban:
Saya sebenarnya baru saja menemukan masalahnya. Saya akhirnya mengklik
Restore Nuget Packages
di tingkat solusi dan saya berhasil mengkompilasiPCL
file saya , dan kemudian sisa solusi saya.Semoga ini membantu.
sumber
Saya memiliki masalah yang sama, dan saya akhirnya harus tidak hanya menghapus konten
bin
danobj
folder, tetapi juga.vs
direktori untuk solusinya.sumber
Saya mengalami masalah yang sama - ini terjadi masih menggunakan Visual Studio 2017.3, yang menggunakan file .csproj, bukan project.json. Menariknya, pesan error tersebut masih mengandung teks "project.json".
Tampaknya penyebab masalah ini adalah file atau file kunci
obj\project.assets.json
(tergantung pada versi VS Anda) dari build sebelumnya, yang tidak dihapus selama pembersihan, seperti yang dijelaskan di sini .Menghapus
/obj
direktori secara manual adalah solusi cepat.Jika Anda memiliki proyek "baru" (misalnya .NET Core atau proyek netstandard yang dibuat di VS 2017) dan proyek "lama" di direktori yang sama (misalnya, proyek .NET 4.6 dibuat di VS 2015), tampaknya mereka akan terus berjuang karena mereka berdua menggunakan
./obj
dir dengan cara yang berbeda. Info selengkapnya di sini. .Solusi msbuild adalah membuat salah satu proyek Anda menggunakan
obj
direktori yang berbeda . Saya menambahkan ini ke csproj "lama" saya:<PropertyGroup> <!-- Needed due to old project and new project in same directory: https://github.com/NuGet/Home/issues/5126 --> <BaseIntermediateOutputPath>obj_netfx\</BaseIntermediateOutputPath> </PropertyGroup>
sumber
Saya menemukan bahwa project.lock.json nakal menyebabkan masalah ini untuk saya. Setelah saya menghapus file tersebut, masalahnya hilang.
Berikut beberapa dokumentasi di project.lock.json.
Beberapa saran lebih lanjut adalah memastikan bahwa project.lock.json diabaikan di file abaikan git Anda, dan coba git clean. Pastikan Anda memahami implikasi pembersihan Git sebelum Anda melakukannya.
sumber
Saya mengalami masalah yang sama setelah memperbarui ke Visual Studio untuk Mac 7.4 (build 1033):
Error: Your project is not referencing the "MonoAndroid,Version=v7.1" framework. Add a reference to "MonoAndroid,Version=v7.1" in the "frameworks" section of your project.json, and then re-run NuGet restore.
Saya tidak punya file proyek json. Kiat di sini juga tidak membantu, jadi saya harus mencari tahu cara yang sulit bahwa saya harus menginstal Android SDK (Oreo 8.1) terbaru selain SDK target saya (Nougat 7.1).
sumber
Saya memiliki masalah yang sama, tetapi saya telah menyelesaikannya dengan menambahkan sumber paket nugget
vs2017-->tools-->options-->Nugetpacakge manager--->updated
yang tepat di url paket yang tepat.Lihat gambar di bawah ini
sumber