Nuget menargetkan ulang setelah memutakhirkan dari .Net Framework 4.5 ke 4.6.1 [duplikat]
Saya memiliki solusi .net dengan kira-kira 30 proyek, semuanya menargetkan .Net Framework 4.5. dan masing-masing mereferensikan setidaknya 3-4 paket NuGet.
Kami sekarang perlu memperbaruinya ke .Net Framework 4.6.1. Jadi, inilah yang perlu saya ketahui:
- Apakah saya perlu menargetkan ulang paket NuGet juga atau dapatkah saya melewatkannya karena ini akan menjadi peningkatan 'di tempat'?
- Jika ya, dapatkah saya memperbarui file packages.config untuk setiap proyek dengan mengganti targetFramework = "net45" dengan targetFramework = "net461" untuk setiap paket NuGet? Saya telah melihat beberapa utas merekomendasikan uninstall dan kemudian menginstal ulang paket melalui perintah 'update-package'. Saya mencobanya hari ini tetapi saya berakhir dengan beberapa kesalahan.
Jawaban
Paket tidak akan ditargetkan ulang secara otomatis, tetapi ada perbaikan otomatis untuk ini.
Di Package Manager Console cukup jalankan:
Update-Package -Reinstall
Ini akan memaksa pengelola paket untuk menginstal ulang setiap paket di setiap proyek (tanpa mengubah versi paket yang dirujuk).
Dengan menginstal ulang paket setelah kerangka baru ditargetkan, ini mengubah semua referensi ke versi yang benar.
Anda juga dapat menjalankan ini pada satu proyek dengan:
Update-Package -Reinstall -ProjectName Project.Name.Here
Saya telah menggunakan teknik ini berkali-kali untuk memperbaiki masalah referensi nuget.
1 Temukan semua file .csproj dan ganti
<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
dengan
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
2 Buka Package Manager Console dan jalankan
Update-Package -Reinstall -IgnoreDependencies
3 Temukan semua solusi, lalu buat masing-masing solusi.
Diperbaiki dengan menggunakan -
Perbarui-Paket-instal ulang