".NETFramework, Version = v4.6.2" çerçevesi için başvuru derlemeleri bulunamadı


112

Bir çözümü derlemeye çalışırken, aşağıdaki yapı hatası alıyorum:

Hata MSB3644 ".NETFramework, Version = v4.6.2" çerçevesi için başvuru derlemeleri bulunamadı. Bunu çözmek için, bu çerçeve sürümü için SDK veya Hedefleme Paketini kurun veya uygulamanızı, SDK veya Hedefleme Paketinin kurulu olduğu çerçeve sürümüne yeniden hedefleyin. Derlemelerin Genel Derleme Önbelleğinden (GAC) çözüleceğini ve referans derlemeleri yerine kullanılacağını unutmayın. Bu nedenle derlemeniz, amaçladığınız çerçeve için doğru şekilde hedeflenmemiş olabilir. C: \ RPR \ Dev \ Libraries \ Common \ Common.csproj C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Community \ MSBuild \ 15.0 \ Bin \ Microsoft.Common.CurrentVersion.targets 1111

.NET Framework 4.6.2 SDK ve 4.6 Targeting Pack'i yüklemeyi denedim, ancak her ikisi de zaten yüklediğimde hata veriyor. Ayrıca Visual Studio 2017'yi yüklemeyi denedim ama yine de aynı hatayı veriyor.

Herhangi bir fikir?


4
4.5.2 geliştirici paketini yüklediğinizde bu sorunun ortadan kalktığını gördüm (yani 4.6.2 değil, 4.5.2 geliştirici paketi).
Peter Ritchie

4.8 ile bu problemi yaşadım, nedense csproj dosyalarımın 4.8.0içinde vardı , bu 4.8görünüşe göre aynı değil .
Jacek Gorgoń

Yanıtlar:



68

Windows -> Ara -> Visual Studio Yükleyici -> Değiştir -> Bileşenleri Ayrı ayrı ve doğru sürümü kontrol edin


9
Visual Studio sizin için tüm sürümleri listeleyeceği ve şu anda ne yüklediğinizi göstereceği ve indirmeyi / yüklemeyi yöneteceği için bu temiz bir çözümdür.
olive_tree

1
Yukarıdaki tüm çözümleri denedim ve hiçbiri işe yaramadı. Bu işi yaptı. Teşekkürler
Charlie Seligman

Benimki v4.6.1'i (referans derlemeleri) istiyor ve yükleyici aracılığıyla yüklenen v4.6.1'i (geliştirme araçları) gösteriyor ... hala neler olduğunu anlamaya çalışıyor. BUNU İPTAL EDİN: Benim sorunum, .NET çerçevelerinin hiçbirinin varsayılan olarak yüklenmemiş olmasıydı. Teşekkür ederim.
Xonatron

1
Bu cidden en iyi cevap olmalı!
Tomáš Hübelbauer

1
Bu en iyi cevap!
Himechi90


13

Mayıs 2019'dan itibaren , Net20'den net48'e kadar (ne461 dahil) projenizi Developer Pack kurulu olmadan en az MSBuild veya .NET Core SDK yüklü herhangi bir makinede oluşturabilirsiniz.

Makinenizde .NET Core SDK yüklüyse, Microsoft.NETFramework.ReferenceAssemblies nuget paketini projenize ekleyin

    <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, net20'den net48'e kadar olan tüm ReferenceAssemblies'i içerir

Bu paketler, en az MSBuild veya .NET Core SDK ve diğer senaryoların yüklü olduğu herhangi bir makinede .NET Framework projeleri oluşturmayı sağlar.

Daha fazla ayrıntı için: https://github.com/Microsoft/dotnet/tree/master/releases/reference-assemblies


Mükemmel, çalışır <ItemGroup Condition = "'$ (TargetFramework)' == 'net20' veya '$ (TargetFramework)' == 'net40'">
Stefan Steiger,

12

Oluştururken ".NETFramework, Version = v4.7.1" olması dışında tam olarak aynı hatayı alıyordum.

4.7.1 için Geliştirici paketini buradan indirdim: https://www.microsoft.com/en-us/download/confirmation.aspx?id=56119

Paket bu programları hedef makineye (derleme sunucum) kurdu.

  • Microsoft .NET Framework 4.7.1 SDK
  • Microsoft .NET Framework 4.7.1 Hedefleme Paketi
  • Microsoft .NET Framework 4.7.1 Hedefleme Paketi (ENU)

Tekrar inşa etmeyi denediğimde, artık hatayı almadım ve yapı başarılı oldu.


1
Benzer sorun (sunucu derleme hatası). Aynı hatayı yaptım ama 4.7.1 için ve bu benim için çözdü.
Brendan

4.7.2 için aynen.
LosManos

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.