Nie znaleziono zestawów referencyjnych dla platformy „.NETFramework, Version = v4.6.2”


112

Podczas próby skompilowania rozwiązania pojawia się następujący błąd kompilacji:

Błąd MSB3644 Nie znaleziono zestawów referencyjnych dla platformy „.NETFramework, Version = v4.6.2”. Aby rozwiązać ten problem, zainstaluj pakiet SDK lub pakiet docelowy dla tej wersji platformy lub przekieruj aplikację na wersję platformy, dla której masz zainstalowany pakiet SDK lub pakiet docelowy. Zwróć uwagę, że zestawy zostaną rozwiązane z globalnej pamięci podręcznej zestawów (GAC) i zostaną użyte zamiast zestawów referencyjnych. Dlatego twój zespół może nie być poprawnie ukierunkowany na zamierzoną strukturę. 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

Próbowałem zainstalować .NET Framework 4.6.2 SDK, a także 4.6 Targeting Pack, ale oba błędy, że mam już zainstalowane. Próbowałem też zainstalować Visual Studio 2017, ale nadal daje ten sam błąd.

Jakieś pomysły?


4
Widziałem, że ten problem znika po zainstalowaniu pakietu deweloperskiego 4.5.2 (tj. Nie pakietu programisty 4.6.2, ale pakietu programisty 4.5.2).
Peter Ritchie,

Miałem ten problem z 4.8, z jakiegoś powodu moje pliki csproj miały w 4.8.0środku, co nie jest tym samym, co 4.8pozornie.
Jacek Gorgoń

Aby uzyskać prawdziwą odpowiedź, patrz stackoverflow.com/a/58850755/155077
Stefan Steiger

Odpowiedzi:



67

Windows -> Wyszukaj -> Instalator programu Visual Studio -> Modyfikuj -> Poszczególne składniki i sprawdź odpowiednią wersję


9
Jest to czyste rozwiązanie, ponieważ program Visual Studio wyświetli listę wszystkich wersji dla Ciebie i pokaże, co masz aktualnie zainstalowane, i będzie zarządzać pobieraniem / instalacją.
olive_tree

1
Wypróbowałem wszystkie powyższe rozwiązania i żadne nie zadziałało. Ten wykonał swoją pracę. Dzięki
Charlie Seligman

Mój prosi o v4.6.1 (zestawy referencyjne) i pokazuje v4.6.1 (narzędzia programistyczne) zainstalowane przez instalator ... wciąż próbuję dowiedzieć się, co się dzieje. ANULUJ TO: Mój problem polegał na tym, że żaden framework .NET nie był w ogóle zainstalowany domyślnie. Dziękuję Ci.
Xonatron,

1
To powinna być naprawdę najlepsza odpowiedź!
Tomáš Hübelbauer

To najlepsza odpowiedź!
Himechi90


13

Od maja 2019 możesz budować swój projekt na net20 do net48 (w tym ne461) na dowolnej maszynie z zainstalowanym co najmniej MSBuild lub .NET Core SDK bez konieczności instalowania Developer Pack.

Jeśli zestaw .NET Core SDK jest zainstalowany na komputerze, Dodaj pakiet NuGet Microsoft.NETFramework.ReferenceAssemblies do projektu

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

Pakiet zawiera wszystkie zestawy ReferenceAssemblies od net20 do net48

Te pakiety umożliwiają tworzenie projektów .NET Framework na dowolnym komputerze z zainstalowanym co najmniej MSBuild lub zestawem .NET Core SDK oraz innymi scenariuszami.

Więcej szczegółów: https://github.com/Microsoft/dotnet/tree/master/releases/reference-assemblies


Doskonałe rozwiązanie!
Akash Agarwal

Idealnie, działa <ItemGroup Condition = "'$ (TargetFramework)' == 'net20' Lub '$ (TargetFramework)' == 'net40'">
Stefan Steiger

12

Podczas kompilowania otrzymywałem dokładnie ten sam błąd, z wyjątkiem tego, że był to błąd „.NETFramework, Version = v4.7.1”.

Pobrałem pakiet programisty dla 4.7.1 stąd: https://www.microsoft.com/en-us/download/confirmation.aspx?id=56119

Pakiet zainstalował te programy na komputerze docelowym (moim serwerze kompilacji).

  • Zestaw SDK programu Microsoft .NET Framework 4.7.1
  • Pakiet docelowy programu Microsoft .NET Framework 4.7.1
  • Microsoft .NET Framework 4.7.1 Targeting Pack (ENU)

Kiedy próbowałem ponownie budować, nie otrzymałem już błędu i kompilacja się powiodła.


1
Podobny problem (błąd serwera kompilacji). Miałem ten sam błąd, ale dla 4.7.1 i to rozwiązało go dla mnie.
Brendan,

Jak wyżej dla 4.7.2.
LosManos

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.