Les assemblys de référence pour le framework «.NETFramework, Version = v4.6.2» sont introuvables

112

Lorsque j'essaye de compiler une solution, j'obtiens l'erreur de construction suivante:

Erreur MSB3644 Les assemblys de référence pour le framework ".NETFramework, Version = v4.6.2" sont introuvables. Pour résoudre ce problème, installez le SDK ou Targeting Pack pour cette version du framework ou recibler votre application vers une version du framework pour laquelle vous avez installé le SDK ou Targeting Pack. Notez que les assemblys seront résolus à partir du Global Assembly Cache (GAC) et seront utilisés à la place des assemblys de référence. Par conséquent, votre assemblage peut ne pas être correctement ciblé pour le cadre que vous souhaitez. 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

J'ai essayé d'installer le SDK .NET Framework 4.6.2, ainsi que le pack de ciblage 4.6, mais les deux erreurs que je l'ai déjà installé. J'ai également essayé d'installer Visual Studio 2017 mais cela donne toujours la même erreur.

Des idées?

Justin
la source
4
J'ai vu ce problème disparaître lorsque vous installez le pack développeur 4.5.2 (c'est-à-dire pas le 4.6.2, mais le pack développeur 4.5.2).
Peter Ritchie le
J'ai eu ce problème avec 4.8, pour une raison quelconque, mes fichiers csproj avaient à l' 4.8.0intérieur, ce qui n'est pas le même 4.8qu'apparemment.
Jacek Gorgoń le
Pour la vraie réponse, voir stackoverflow.com/a/58850755/155077
Stefan Steiger

Réponses:

96

Il s'avère que j'avais installé le .NET Framework v4.6.2, pas le Developer Pack pour 4.6.2. Doh!

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

Justin
la source
J'ai installé Dev Pack 462 et je reçois toujours l'avertissement. Dois-je redémarrer ma machine?
Jim
5
J'ai dû redémarrer Visual Studio après l'installation, puis tout va bien
Jonesopolis
68

Windows -> Rechercher -> Visual Studio Installer -> Modifier -> Composants individuels et vérifier la bonne version

Cata Hotea
la source
9
Il s'agit d'une solution propre car Visual Studio répertorie toutes les versions pour vous et affiche ce que vous avez actuellement installé et gérera le téléchargement / l'installation.
olive_tree
1
J'ai essayé toutes les solutions ci-dessus et aucune n'a fonctionné. Celui-ci a fait le travail. Merci
Charlie Seligman
Le mien demande la v4.6.1 (assemblages de référence) et montre la v4.6.1 (outils de développement) installée via le programme d'installation ... essayant toujours de comprendre ce qui se passe. ANNULER QUE: Mon problème était qu'aucun des frameworks .NET n'était installé par défaut. Je vous remercie.
Xonatron
1
Cela devrait sérieusement être la meilleure réponse!
Tomáš Hübelbauer
1
Celui-ci est la meilleure réponse!
Himechi90
13

À partir de mai 2019, vous pouvez créer votre projet sur net20 jusqu'à net48 (y compris ne461) sur n'importe quelle machine avec au moins MSBuild ou le SDK .NET Core installé sans avoir besoin du Developer Pack installé.

Si .NET Core SDK est installé sur votre ordinateur, ajoutez le package nuget Microsoft.NETFramework.ReferenceAssemblies à votre projet

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

Le package comprend tous les ReferenceAssemblies de net20 à net48

Ces packages permettent de créer des projets .NET Framework sur n'importe quel ordinateur avec au moins MSBuild ou le SDK .NET Core installé ainsi que d'autres scénarios.

Pour plus de détails: https://github.com/Microsoft/dotnet/tree/master/releases/reference-assemblies

M. Hassan
la source
Parfait, fonctionne <ItemGroup Condition = "'$ (TargetFramework)' == 'net20' Ou '$ (TargetFramework)' == 'net40'">
Stefan Steiger
12

J'obtenais exactement la même erreur lors de la construction, sauf que c'était pour ".NETFramework, Version = v4.7.1".

J'ai téléchargé le pack développeur pour 4.7.1 à partir d'ici: https://www.microsoft.com/en-us/download/confirmation.aspx?id=56119

Le pack a installé ces programmes sur la machine cible (mon serveur de build).

  • Kit de développement logiciel (SDK) Microsoft .NET Framework 4.7.1
  • Pack de ciblage Microsoft .NET Framework 4.7.1
  • Pack de ciblage Microsoft .NET Framework 4.7.1 (ENU)

Quand j'ai essayé de construire à nouveau, je n'ai plus eu l'erreur et la construction a réussi.

Jamie Butterworth
la source
1
Problème similaire (erreur de serveur de construction). Eu la même erreur mais pour 4.7.1 et cela l'a résolu pour moi.
Brendan le
Idem pour 4.7.2.
LosManos