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?


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:



67

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


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


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.


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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.