2014-07-24 3 views
1

J'ai récemment rencontré un problème où (pour une raison quelconque, ce comportement est apparu de nulle part) lors du déploiement Web d'un projet sur Azure Websites - certains assemblys de référence des projets dépendants ne sont pas automatiquement inclus dans le package de déploiement.Visual Studio 2013 Web Deploy Dépendances manquantes

SO ceci est une structure grossière de mon projet: 1) projet ASP.NET MVC référençant projet de bibliothèque de classes 2) projet de bibliothèque de classe qui fait référence à certains paquets NuGet

Maintenant, quand je web Déployez les ASP Projet .NET MVC sur le site Web Azure: tous les assemblys empaquetés NuGet de la bibliothèque de classes de référence ne sont pas déployés (il semble que certains soient inclus automatiquement et d'autres non). Tout fonctionne bien lorsqu'il est exécuté localement. Tous les assemblys requis sont copiés dans le dossier bin du projet ASP.NET MVC. Maintenant, la seule façon que j'ai trouvé pour contourner ce problème est d'ajouter le paquet NuGet de la référence manquante directement au projet ASP.NET MVC. Je n'aime vraiment pas cette solution de contournement - car elle casse la structure modulaire de mon projet.

Il doit sûrement y avoir un moyen de spécifier quels assemblys doivent être inclus avec Web Deploy? J'ai essayé quelques recherches google assez étendues sur le sujet - mais cela n'a pas donné une solution de travail.

+0

Avez-vous vérifié que les références incriminées ont "Copie locale" définie sur true? –

+0

Merci pour le commentaire - oui, je l'ai fait. Tous définis sur "Copier local". –

Répondre

1

Effectuez les opérations suivantes pour chacun des paquets incriminée NuGet:

  1. Ouvrez la console Package Manager. Assurez-vous que la liste déroulante Projet par défaut est définie sur votre projet MVC.

  2. Run Uninstall-Package [Package Name] -Force

  3. Run Install-Package [Package Name]

Si vous devez garder une version particulière d'un paquet au lieu de simplement tirer la dernière, vous pouvez ajouter -Version [Version Number] à la fin de la dernière commander. Cela va essentiellement rafraîchir toutes les références et autres amorçages pour le paquet, puis essayer de déployer à nouveau sur le Web.

Questions connexes