Problème ajout de la référence au projet de bibliothèque de classes dans ASP.NET 5 (Core)
Salut tout d'abord je sais vaguement questions similaires ont été posées, mais elles sont dépassée aujourd'hui, je suis à l'aide de Visual Studio 2015 rtm et ASP.NET 5 beta 6.
J'essaye d'ajouter une référence à la normale (c'est à dire pas vnext) projet de bibliothèque de classes à mon vnext application web. Si je procédez comme suit:
-
Créer une nouvelle application web projet
-
Supprimer le "dnxcore50" cadre de projet.json
-
Ajouter un nouveau projet pour une classe normale de la bibliothèque
-
Déplacer manuellement le projet de bibliothèque de classes dans le /dossier src (sinon, j'obtiens l'erreur "La dépendance MyClassLibrary1 >= 1.0.0-* n'a pas pu être résolu.")
-
Ajouter une référence à cette bibliothèque de classe
Maintenant, il s'appuie sur OK, mais si j'essaie d'ajouter "à l'aide de MyClassLibrary1" il dit MyClassLibrary1 n'existe pas dans le contexte actuel.
Si je puis changer de la bibliothèque de classe de la cible .NET 4 profil du Client (par défaut, c'était de 4.6) il ne fonctionne pas correctement, cependant .NET 4 ou 4.5 ne fonctionne pas. J'en ai besoin pour être en 4.5 ou plus que je besoin de faire référence à différents packages qui en ont besoin. Idéalement, tout juste cible 4.6.
C'est mon projet.fichier json:
{
"webroot": "wwwroot",
"userSecretsId": "aspnet5-WebApplication2-6767111e-0eba-42a4-9d68-4b6c20767518",
"version": "1.0.0-*",
"dependencies": {
"EntityFramework.SqlServer": "7.0.0-beta6",
"EntityFramework.Commands": "7.0.0-beta6",
"Microsoft.AspNet.Mvc": "6.0.0-beta6",
"Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-beta6",
"Microsoft.AspNet.Authentication.Cookies": "1.0.0-beta6",
"Microsoft.AspNet.Authentication.Facebook": "1.0.0-beta6",
"Microsoft.AspNet.Authentication.Google": "1.0.0-beta6",
"Microsoft.AspNet.Authentication.MicrosoftAccount": "1.0.0-beta6",
"Microsoft.AspNet.Authentication.Twitter": "1.0.0-beta6",
"Microsoft.AspNet.Diagnostics": "1.0.0-beta6",
"Microsoft.AspNet.Diagnostics.Entity": "7.0.0-beta6",
"Microsoft.AspNet.Identity.EntityFramework": "3.0.0-beta6",
"Microsoft.AspNet.Server.IIS": "1.0.0-beta6",
"Microsoft.AspNet.Server.WebListener": "1.0.0-beta6",
"Microsoft.AspNet.StaticFiles": "1.0.0-beta6",
"Microsoft.AspNet.Tooling.Razor": "1.0.0-beta6",
"Microsoft.Framework.Configuration.Abstractions": "1.0.0-beta6",
"Microsoft.Framework.Configuration.Json": "1.0.0-beta6",
"Microsoft.Framework.Configuration.UserSecrets": "1.0.0-beta6",
"Microsoft.Framework.Logging": "1.0.0-beta6",
"Microsoft.Framework.Logging.Console": "1.0.0-beta6",
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-beta6"
},
"commands": {
"web": "Microsoft.AspNet.Hosting --config hosting.ini",
"ef": "EntityFramework.Commands"
},
"frameworks": {
"dnx451": {
"dependencies": {
"MyClassLibrary1": "1.0.0-*"
}
}
},
"exclude": [
"wwwroot",
"node_modules",
"bower_components"
],
"publishExclude": [
"node_modules",
"bower_components",
"**.xproj",
"**.user",
"**.vspscc"
],
"scripts": {
"prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ]
}
}
Et mon global.fichier json:
{
"projects": [
"src",
"test",
"wrap"
],
"sdk": {
"version": "1.0.0-beta6"
}
}
- Je ne peux même pas construire après l'ajout d'un projet de bibliothèque de classes de mon projet existant;s de la solution. Cependant si j'ai recommencer à zéro, cela fonctionne, ce qui pourrait être la raison.
- soulevé du réseau au cœur de la question: github.com/aspnet/Home/issues/1513
Vous devez vous connecter pour publier un commentaire.
C'est la façon dont je l'ai fait à l'aide de beta6 (mise à JOUR: Il est encore valable pour la RC1 de mise à JOUR de 1).
Cela va ajouter une entrée de référence à votre projet.json fichier.
Les coulisses de la dll est copiée sur le répertoire /lib de votre solution et un "wrapper projet" avec seulement un projet.fichier json est créé dans /wrap dossier. Le wrapper projet est documenté ici (pas assez bien tout de même): https://github.com/aspnet/Home/wiki/Project.json-file#bin-syntax-wrapping-a-dll
Que c'est! Je viens de le tester ce scénario. Espérons que cette aide.
{ assembly, pdb }
(voir le GitHub docs). En outre, depuis ma DLL références sont des projets dans la même solution, j'ai besoin d'ajouter comme des Dépendances du Projet et assurez-vous que le site web est au-dessous d'eux dans le Projet de construction de l'Ordre.Si quelqu'un d'autre est aux prises avec cette erreur particulière, la clé est d'ajouter la référence par "navigation" à la taille réelle du fichier lors de l'ajout de la référence, et non pas à l'aide de l'onglet "projet".
Cela ne semble pas stocker le chemin d'accès, mais ajoute la référence pour le projet.json, comme la normale. De toute évidence un bug (beta7) au moment de la rédaction de ce.
Voici comment je l'ai fait dans ASPT.NET 5 RC 1 mise à Jour 1:
Ouvrir
project.json
, à l'intérieur de"frameworks":
nœud, supprimer"dnxcore50": { }
ligne (JSON ne permet pas de commentaire). Lorsque vous enregistrez le fichier json, leDNX Core 5
de référence doit être immédiatement retiré.Construire le projet. Il doit construire avec succès.
Mettre
"dnxcore50": { }
dos. Il n'apporte pas de DNX 5 de Base.À ajouter à la normale .Un projet de réseau dans la version plus 4.5.1 juste enlever dnxcore et renommer dnx451 à dnx461
Ces réponses m'ont vraiment aidé à comprendre cela. Dans mon cas, le nettoyage des choses dans la solution du "wrap" dossier résolu les erreurs de génération. J'avais renommé certaines bibliothèques de classe et les anciens étaient toujours là. Retrait de l'ancienne projets et de mettre à jour le projet.des fichiers json dans les projets existants a fait le tour. Assurez-vous que les dépendances du projet.des fichiers json révérence les bons projets.
Voici un exemple:
C'est un bug ouvert. Voici le lien de sorte que vous pouvez voir quand il ferme:
https://github.com/aspnet/Tooling/issues/245