Nuget menargetkan ulang setelah memutakhirkan dari .Net Framework 4.5 ke 4.6.1 [duplikat]

Mar 16 2016

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:

  1. Apakah saya perlu menargetkan ulang paket NuGet juga atau dapatkah saya melewatkannya karena ini akan menjadi peningkatan 'di tempat'?
  2. 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

251 KenHundley Nov 18 2016 at 23:05

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.

37 OzBob Feb 17 2017 at 15:39

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.

4 Deep Sep 15 2017 at 03:41

Diperbaiki dengan menggunakan -

Perbarui-Paket-instal ulang