Visual Studio 2008 et 2010 comportent différemment lors du référencement dans les assemblées du système de fichiers?

StackOverflow https://stackoverflow.com/questions/3446637

Question

Je vois un étrange phénomène dans Visual Studio 2010.

Ma configuration du projet est ce (j'ai hérité cela - ne peut pas changer dans un proche avenir, malheureusement: - ():

  • une application Winforms qui utilise Crystal Reports X (v10) comme moteur de reporting; complète CR X Developer Edition est installé sur ma boîte de dev

  • plusieurs Webforms applications qui utilisent Crystal Reports XI (v11) comme moteur de reporting - ne peut pas installer CR XI version complète, car il entre en conflit avec CR X Dev édition ....

Afin de faire fonctionner les choses sur notre serveur de build, j'ai aussi créé un dossier Library dans le répertoire de projet app WinForms avec les fichiers d'exécution CR X j'ai besoin, ainsi qu'un dossier Library dans le répertoire de projet de l'application Web avec le CR XI fichiers d'exécution.

Dans VS 2008, j'ai pu choisir les ensembles nécessaires à partir du dossier de la bibliothèque respective dans mes projets WinForms (plusieurs bibliothèques de classes, etc.), et dans mes applications web. Tout fonctionnait très bien.

Quand je mis à jour à Visual Studio 2010, maintenant tout à coup je vois:

  • dans mes applications Winforms, toutes les références à CR fichiers d'exécution X sont en cours automagiquement mis à jour pour utiliser les fichiers CR X du GAC - c'est pas ce que je veux! Il ne l'aide si je supprime ces références et les ajouter de nouveau en naviguant dans le dossier Library - quand je les prends, VS2010 semble automagiquement les conver aux références GAC à nouveau ...

  • dans mes applications Web, les choses deviennent encore pire: quand je prends les CR XI ensembles d'exécution du dossier Library, encore une fois, VS2010 semble automagiquement y détecter des fichiers similaires (même nom, mais des versions différentes) dans le GAC et utilise ces fichiers au lieu - maintenant mes applications Web ne fonctionnent plus .....

Qu'est-ce que l'h *** se passe avec VS 2010 ici ?? Pourquoi ne peut-il laisser seul mes choix et me laisser choisir mes fichiers d'exécution d'un dossier Library au lieu d'insister sur aller au GAC ?? Ce qui a changé entre VS 2008 et VS 2010 à cet égard ?? Quelqu'un at-il aperçu de ce ??

Était-ce utile?

La solution

Il peut être utile soit

(1) allez dans Outils d'options \ Project & Solutions \ Build & Run et le changement MSBuild verbosité à « diagnostic », puis construire et dans la fenêtre de sortie voir comment la logique de résolution de référence MSBuild travaille pour ces assemblées. Autrement dit, si VS n'a pas encore fait quelque chose de ridicule dans le fichier .csproj sous-jacent

(2) comparer les données XML dans le fichier de projet VS2008 par rapport au dossier du projet VS2010 pour voir ce qui est dans les noeuds <Reference>

Une estimation spéculative sauvage: le projet VS2010 cible « .NET 4.0 Client » (plutôt que « .NET 4.0 (cadre complet) », et les bibliothèques ont besoin du cadre complet, et MSBuild voit cette dépendance et utilise la logique de repli .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top