2015-02-03 19 views
5

Sto usando VS2015 CTP5 e sto facendo riferimento a una libreria di classi legacy compilata con 4.5.1. Durante la compilazione, ricevo questo avviso:Errore di riferimento dell'assieme legacy in asp.net-vnext

Impossibile risolvere il riferimento primario "D: \ components.dll" perché è stato creato rispetto al framework ".NETFramework, Versione = v4.5.1". Questa è una versione superiore rispetto al framework attualmente selezionato ".NETFramework, Version = v4.5".

Ecco il mio project.json dopo aver aggiunto il riferimento

"frameworks": { 
    "aspnet50": { 
     "dependencies": { 
      "components": "1.0.0-*" 
     } 
    } 
}, 
+0

Qual è il tipo di progetto vnext? Indica chiaramente che il tuo attuale target di applicazione è 4.5 e la tua classe lib è 4.5.1 se hai progetto vnext con ctp5 allora dovrebbe essere 4.6 – dotnetstep

risposta

2

Dal momento che la libreria "componente" è costruire per .net 45 e partendo dal presupposto che si costruisca quella libreria in una versione precedente di Visual Studio, non funzionerà in aspnetcore5 ma funzionerà su aspnet5 (questa è la nuova versione per .net). se si desidera eliminare l'errore e utilizzare ancora la libreria dei componenti, sarà necessario rimuovere il nodo json aspnetcore5 dal file project.json ma il progetto che si sta creando non sarà compatibile con aspnetcore5. Quindi il tuo file project.json per la sezione quadri dovrebbe assomigliare a questo.

"frameworks": { 
    "aspnet50": { 

     "frameworkAssemblies": { 
      "System": "4.0.0.0" 
     }, 
     "dependencies": { 


     } 
    },  
    "net45": { 
     "dependencies": { "components": "1.0.0"}, 
     "frameworkAssemblies": { } 

    } 

} 

E il vostro riferimento dovrebbe essere simile, ho avvertimento cantare accanto alla libreria di componenti, perché non ho che nel mio codice.

È possibile guardare questa domanda per ottenere maggiori informazioni.

Question 1, Question 2

1

aggiungere la libreria al frameworkDependencies non dependencies

"net45": { 
    "frameworkAssemblies": { 
     "components": "1.0.0" 
    }, 
    "dependencies": { 
     // NuGet packages go here 
    } 
+0

Victor, penso che sia necessario spostare "componenti": "1.0.0" alle dipendenze nodo, se non sbaglio frameworkAssemblies sono solo per riferimento .NET e le dipendenze sono per qualsiasi riferimento a nuget o progetto. –

0

Per me, nessuna delle precedenti ha funzionato e dopo aver trascorso un sacco di ore che indagano ... ho finalmente trovato una soluzione!

Devo creare un nuovo pacchetto nello NuGet Package Explorer per la mia DLL, salvarlo ed esportarlo in una cartella locale (utilizzare File-> Salva e File-> Esporta comandi). Quindi dichiarare il mio repository locale (cartella) in Visual Studio, andare in Strumenti-> Opzioni-> NuGet Package Manager-> Sorgenti pacchetto e inserire un record per il mio repository locale - vedere l'immagine sotto.

Package Sources in VS2015

Problemi correlati