Rakitan referensi untuk kerangka kerja ".NETFramework, Versi = v4.6.2" tidak ditemukan

112

Saat mencoba mengompilasi solusi, saya mendapatkan error build berikut:

Kesalahan MSB3644 Rakitan referensi untuk kerangka kerja ".NETFramework, Versi = v4.6.2" tidak ditemukan. Untuk mengatasinya, instal SDK atau Targeting Pack untuk versi framework ini atau targetkan ulang aplikasi Anda ke versi framework yang SDK atau Targeting Packnya telah Anda instal. Perhatikan bahwa rakitan akan diselesaikan dari Cache Majelis Global (GAC) dan akan digunakan sebagai pengganti rakitan referensi. Oleh karena itu perakitan Anda mungkin tidak ditargetkan dengan benar untuk kerangka yang Anda maksudkan. C: \ RPR \ Dev \ Libraries \ Common \ Common.csproj C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Community \ MSBuild \ 15.0 \ Bin \ Microsoft.Common.CurrentVersion.t target 1111

Saya sudah mencoba menginstal .NET Framework 4.6.2 SDK, serta 4.6 Targeting Pack, namun kedua kesalahan itu sudah saya instal. Saya juga mencoba menginstal Visual Studio 2017 tetapi masih memberikan kesalahan yang sama.

Ada ide?

Justin
sumber
4
Saya telah melihat masalah ini hilang ketika Anda menginstal paket pengembang 4.5.2 (yaitu bukan 4.6.2, tetapi paket pengembang 4.5.2).
Peter Ritchie
Saya mengalami masalah ini dengan 4.8, untuk beberapa alasan file csproj saya ada 4.8.0di dalamnya, yang tidak sama dengan yang 4.8terlihat.
Jacek Gorgoń
Untuk jawaban sebenarnya, lihat stackoverflow.com/a/58850755/155077
Stefan Steiger

Jawaban:

96

Ternyata saya yang menginstal .NET Framework v4.6.2, bukan Developer Pack untuk 4.6.2. Doh!

https://www.microsoft.com/en-us/download/details.aspx?id=53321

Justin
sumber
Saya menginstal Dev Pack 462 dan masih mendapatkan peringatan. Apakah saya harus me-restart mesin saya?
Jim
5
saya harus me-restart studio visual setelah menginstal, maka semuanya baik
Jonesopolis
67

Windows -> Search -> Visual Studio Installer -> Modify -> Individual Components dan periksa versi yang benar

Cata Hotea
sumber
9
Ini adalah solusi bersih karena Visual Studio akan mencantumkan semua versi untuk Anda dan menunjukkan apa yang saat ini telah Anda instal dan akan mengelola unduhan / instal.
pohon zaitun
1
Mencoba semua solusi di atas dan tidak ada yang berhasil. Yang ini berhasil. Terima kasih
Charlie Seligman
Milik saya meminta v4.6.1 (rakitan referensi) dan menunjukkan v4.6.1 (alat pengembangan) yang diinstal melalui penginstal ... masih mencoba mencari tahu apa yang terjadi. BATALKAN ITU: Masalah saya adalah tidak ada kerangka .NET yang diinstal sama sekali secara default. Terima kasih.
Xonatron
1
Ini benar-benar harus menjadi jawaban teratas!
Tomáš Hübelbauer
Yang ini adalah jawaban terbaik!
Himechi90
13

Mulai Mei 2019 Anda dapat membangun proyek Anda di net20 hingga net48 (termasuk ne461) mesin apa pun yang setidaknya memiliki MSBuild atau .NET Core SDK yang diinstal tanpa perlu menginstal Paket Pengembang.

Jika .NET Core SDK diinstal di komputer Anda, Tambahkan paket nuget Microsoft.NETFramework.ReferenceAssemblies ke proyek Anda

    <ItemGroup>
        <PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0-preview.2">
            <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
            <PrivateAssets>all</PrivateAssets>
        </PackageReference>     
    </ItemGroup>

Paket ini menyertakan semua ReferenceAssemblies mulai net20 hingga net48

Paket-paket ini memungkinkan pembuatan proyek .NETFramework pada mesin apa pun dengan setidaknya MSBuild atau .NET Core SDK diinstal ditambah skenario lainnya.

Untuk detail lebih lanjut: https://github.com/Microsoft/dotnet/tree/master/releases/reference-assemblies

M. Hassan
sumber
Solusi luar biasa!
Akash Agarwal
Sempurna, berfungsi <ItemGroup Condition = "'$ (TargetFramework)' == 'net20' Or '$ (TargetFramework)' == 'net40'">
Stefan Steiger
12

Saya mendapatkan kesalahan yang sama persis saat membangun kecuali untuk ".NETFramework, Version = v4.7.1".

Saya mengunduh paket Pengembang untuk 4.7.1 dari sini: https://www.microsoft.com/en-us/download/confirmation.aspx?id=56119

Paket menginstal program ini di mesin target (server build saya).

  • SDK Microsoft .NET Framework 4.7.1
  • Paket Penargetan Microsoft .NET Framework 4.7.1
  • Microsoft .NET Framework 4.7.1 Targeting Pack (ENU)

Ketika saya mencoba membangun lagi, saya tidak mendapatkan kesalahan lagi dan pembangunan berhasil.

Jamie Butterworth
sumber
1
Masalah serupa (build server error). Memiliki kesalahan yang sama tetapi untuk 4.7.1 dan ini menyelesaikannya untuk saya.
Brendan
Ditto for 4.7.2.
LosManos