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.