Non sono stati trovati gli assembly di riferimento per il framework ".NETFramework, Version = v4.6.2"


112

Quando provo a compilare una soluzione, ottengo il seguente errore di compilazione:

Errore MSB3644 Gli assembly di riferimento per il framework ".NETFramework, Version = v4.6.2" non sono stati trovati. Per risolvere questo problema, installa l'SDK o il Targeting Pack per questa versione del framework oppure esegui il retargeting dell'applicazione su una versione del framework per cui hai installato l'SDK o il Targeting Pack. Si noti che gli assembly verranno risolti dalla Global Assembly Cache (GAC) e verranno usati al posto degli assembly di riferimento. Pertanto, l'assembly potrebbe non essere correttamente mirato al framework desiderato. 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

Ho provato a installare .NET Framework 4.6.2 SDK, così come il 4.6 Targeting Pack, tuttavia entrambi l'errore che ho già installato. Ho anche provato a installare Visual Studio 2017 ma dà ancora lo stesso errore.

Qualche idea?


4
Ho visto questo problema scomparire quando installi il pacchetto per sviluppatori 4.5.2 (cioè non il 4.6.2, ma il pacchetto per sviluppatori 4.5.2).
Peter Ritchie

Ho avuto questo problema con 4.8, per qualche motivo i miei file csproj avevano 4.8.0dentro, che non è la stessa di 4.8apparentemente.
Jacek Gorgoń

Per la risposta reale, vedere stackoverflow.com/a/58850755/155077
Stefan Steiger

Risposte:



67

Windows -> Cerca -> Programma di installazione di Visual Studio -> Modifica -> Singoli componenti e controlla la versione corretta


9
Questa è una soluzione pulita poiché Visual Studio elencherà tutte le versioni per te e mostrerà ciò che hai attualmente installato e gestirà il download / installazione.
olive_tree

1
Ho provato tutte le soluzioni sopra e nessuna ha funzionato. Questo ha fatto il suo lavoro. Grazie
Charlie Seligman

Il mio chiede v4.6.1 (assembly di riferimento) e mostra v4.6.1 (strumenti di sviluppo) installato tramite il programma di installazione ... ancora cercando di capire cosa sta succedendo. CANCELLA QUESTO: Il mio problema era che nessuno dei framework .NET era installato per impostazione predefinita. Grazie.
Xonatron

1
Questa dovrebbe essere seriamente la risposta migliore!
Tomáš Hübelbauer

Questa è la risposta migliore!
Himechi90


13

A partire da maggio 2019 puoi costruire il tuo progetto su net20 fino a net48 (incluso ne461) su qualsiasi macchina con almeno MSBuild o .NET Core SDK installati senza la necessità di Developer Pack installato.

Se .NET Core SDK è installato nel tuo computer, aggiungi il pacchetto nuget Microsoft.NETFramework.ReferenceAssemblies al tuo progetto

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

Il pacchetto include tutti i ReferenceAssemblies a partire da net20 fino a net48

Questi pacchetti consentono la creazione di progetti .NET Framework su qualsiasi macchina con almeno MSBuild o .NET Core SDK installato più altri scenari.

Per maggiori dettagli: https://github.com/Microsoft/dotnet/tree/master/releases/reference-assemblies


Ottima soluzione!
Akash Agarwal

Perfetto, funziona <ItemGroup Condition = "'$ (TargetFramework)' == 'net20' Or '$ (TargetFramework)' == 'net40'">
Stefan Steiger

12

Ho ricevuto lo stesso identico errore durante la creazione, tranne che per ".NETFramework, Version = v4.7.1".

Ho scaricato il Developer pack per 4.7.1 da qui: https://www.microsoft.com/en-us/download/confirmation.aspx?id=56119

Il pacchetto ha installato questi programmi sulla macchina di destinazione (il mio server di compilazione).

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

Quando ho provato a costruire di nuovo, non ho più ricevuto l'errore e la compilazione è riuscita.


1
Problema simile (errore del server di build). Ho avuto lo stesso errore ma per 4.7.1 e questo lo ha risolto per me.
Brendan

Idem per 4.7.2.
LosManos

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.