J'utilise MVC 5 et .net 4.6 pour créer une API Web à laquelle mon application mobile peut également se connecter.
Chaque fois que je construis le projet, des centaines d'erreurs me disent que je dois ajouter des références qui sont déjà présentes et que chaque type de mon projet "n'existe pas". Quelques exemples de ces erreurs: (N'incluant pas celle du titre)
Ce que j'ai essayé
UPDATE: -Mon fichier project.json
ressemble à ceci. (Après modification en fonction de la réponse de Karls. La liste des erreurs est maintenant réduite à dix, mais ce sont toujours les mêmes erreurs qu'auparavant.)
{
"commands": {
"web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://localhost:5000"
},
"dependencies": {
"Microsoft.AspNet.Server.IIS": "1.0.0-beta5",
"Microsoft.AspNet.Server.WebListener": "1.0.0-beta5",
"Microsoft.AspNet.Diagnostics": "1.0.0-beta5",
"Microsoft.AspNet.Mvc": "6.0.0-beta5",
"System.Runtime": "4.0.20-beta-23019"
},
"exclude": [
"wwwroot",
"node_modules",
"bower_components"
],
"frameworks": {
"dnx451": {
"frameworkAssemblies": {
"System.Data": "4.0.0.0",
"System.Data.DataSetExtensions": "4.0.0.0",
"System.Data.Linq": "4.0.0.0"
}
}
},
"publishExclude": [
"node_modules",
"bower_components",
"**.xproj",
"**.user",
"**.vspscc"
],
"version": "1.0.0-*",
"webroot": "wwwroot"
}
Je devine un peu ici mais il semble suspect que vous utilisiez le code System.Data.*
habituel pour dnx451
mais vous n’avez rien à faire pour le remplacer par dnxcore50
. Vous ciblez également l'édition principale ou s'agit-il simplement de restes de la création de projet? Si vous souhaitez cibler l'édition de base tout en utilisant l'ancien System.Data.*
, vous devez envelopper tout ce qui est assemblé dans ces assemblys.
#if DNX451
// Do some DNX451 specific stuff here
#endif
Et l'inverse aussi.
#if DNXCORE50
// Do some DNXCORE50 specific stuff here
#endif
Mais si vous ne songez pas encore à le supporter, je supprimerai simplement dnxcore50
de la liste des frameworks et vos erreurs disparaîtront probablement.
Supprimer bin
et obj
et reconstruire.
J'exécute la commande dotnet restore
sur la console du gestionnaire de packages et le problème est résolu.
Dans mon cas, j'avais un projet qui devait encore être construit sur une version bêta de dnx. Le changer pour construire par rapport à la version que j'utilisais dans les autres projets l'a corrigé.
Pour moi, le problème est survenu lorsque j'ai ajouté un nouveau projet à ma solution. J'ai reconstruit la solution et les erreurs ont disparu.