Sto cercando di sviluppare la mia prima applicazione web ASP.Net e nella mia soluzione ho due progetti. A Web Application
e Class Library (Package)
. Quando costruisco la versione ASP.Net 4.5 di questa applicazione, inserisco le mie entità Entity Framework 6
in una libreria di classi, quindi lo sto facendo nella versione ASP.Net 5
. Il problema è quando installo EntityFramework.Commands
alla libreria di classi ottengo l'errore:Comandi EntityFramework nel pacchetto della libreria di classi ASP.Net 5?
The dependency EntityFramework.Command 7.0.0-rc1-final in Project DBEntities does not support framework .NetPlatform, Version = 5.4
mia comprensione da this SO question è che dotnet5.4
è il nuovo .Net 5 che dovrebbe essere supportato da EF7.
Ecco il mio project.json
di file:
{
"version": "1.0.0-*",
"description": "FFInfo.DAL Class Library",
"authors": [ "Mathew" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"frameworks": {
"dotnet5.4": {
"dependencies": {
"Microsoft.CSharp": "4.0.1-beta-23516",
"System.Collections": "4.0.11-beta-23516",
"System.Linq": "4.0.1-beta-23516",
"System.Runtime": "4.0.21-beta-23516",
"System.Threading": "4.0.11-beta-23516"
}
}
},
"dependencies": {
"EntityFramework.Commands": "7.0.0-rc1-final",
"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final"
}
}
Ti ho installare il pacchetto sbagliato, è EF7 cambiato così tanto che sto costruendo la classe sbagliata, o mi sto perdendo qualcosa nel mio file JSON?
EDIT: suggerimenti basati off nuovo file project.json
{
"version": "1.0.0-*",
"description": "FFInfo.DAL Class Library",
"authors": [ "Mathew" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"frameworks": {
"dotnet5.4": {
"dependencies": {
"Microsoft.AspNet.Hosting.Abstractions": "1.0.0-*",
"Microsoft.Dnx.Runtime": "1.0.0-*",
"Microsoft.Extensions.CommandLineUtils.Sources": {
"version": "1.0.0-*",
"type": "build"
},
"Microsoft.Extensions.PlatformAbstractions": "1.0.0-*",
"System.Console": "4.0.0-*",
"System.IO.FileSystem": "4.0.1-*"
}
},
"netcore50": {
"bin": {
"assembly": "lib\\netcore50\\_._"
}
},
"dependencies": {
"EntityFramework.Commands": "7.0.0-rc1-final",
"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final"
}
}
}
Il framework 'dotnet5.4' è sinonimo di' dnxcore50' e non 'dnx451' (vedere [l'annuncio ufficiale] (https://github.com/aspnet/Announcements/issues/98)). Personalmente trovo che i cambiamenti di nome siano diversi. ** Prima di tutto ti consiglio di rinominare 'dotnet5.4' in' dnxcore50'. ** Probabilmente dovresti usare 'net451' o' dnx451' invece di '" frameworks "." Dotnet5.4 "." Dipendenze " 'se la libreria di classi è per ASP.Net 4.5 principalmente? In ogni caso, raccomanderei di aggiungere "" dnx451 ": {}' (o '" net451 ": {}') di nuovo a '" frameworks "'. Se si è in grado di riprodurre il problema, posso provare ad aiutare di più. – Oleg
@Oleg Non voglio che sia indirizzato a '.Net 4.5' Desidero che sia indirizzato a' .Net 5.0 core' Questa 'Libreria di classi' è per la versione' ASP.Net 5' della mia app web. – Matthew
Penso che il tuo problema potrebbe essere risolto da ** rinominando '" dotnet5.4 "' a '" dnxcore50 "' **. Se funzionasse vorrei pubblicare la mia risposta con una spiegazione più dettagliata. Penso che tu possa rimuovere anche tutte le "dipendenze" 'incluse in" framework "." Dotnet5.4 "' ('" frameworks "." Dnxcore50 "') e probabilmente usano le comuni "dipendenze" ', ma includono solo dipendenze veramente richieste. L'ottimizzazione di '" frameworks "' 'è indipendente dal tuo problema principale. – Oleg