J'essaie de faire fonctionner MSBuild sur un projet qui vient d'être déplacé sur TFS2008. La solution était énorme, donc elle a été divisée en 5 projets d'équipe, A-E. Chacun a une seule solution mais plusieurs projets. A est convaincu que B-E est construit en premier. Nous avons besoin de construire à la fois des versions debug et release de tout, ce qui est bien, mais quand nous compilons A en mode release, il utilise les versions debug de B-E. Après avoir regardé dans les fichiers proj des projets dans A, leurs références d'assemblage ont été définies pour pointer vers les versions de débogage des bibliothèques dans B-E. Est-il possible d'utiliser un fichier proj MSBuild pour rendre la version de A référence aux versions de projets de B-E? Jusqu'à présent, j'ai essayé d'ajouter
<PropertyGroup>
au fichier projet MSBuild, mais cela ne fait aucune différence. Aucune suggestion?Comment faire pour que MSBuild référence les bons assemblages?
<AssemblySearchPaths>
$(Configuration)
$(AssemblySearchPaths)
</AssemblySearchPaths>
</PropertyGroup>
0
A
Répondre
3
(Ceci est une réponse alternative si vous voulez faire tout ce qu'il dans vos fichiers .prof)
Vous pouvez définir le chemin de référence sur chacun des groupes de propriétés pour les différentes configurations.
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <ReferencePath>c:\blah\blah\Path\To\Debug\</ReferencePath> </PropertyGroup>Vous devriez déjà avoir les groupes de propriétés conditionnelles dans le fichier .proj, il suffit donc de leur ajouter le bit de chemin refernece. Vous pouvez avoir plusieurs chemins en les séparant avec des points-virgules.<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <ReferencePath>c:\blah\blah\Path\To\Release\</ReferencePath> </PropertyGroup>
2
Je pense que vous pouvez le faire:
<PropertyGroup> <SomeReferencePath>..\Your\Other\Build\Path\</LibraryReference> </PropertyGroup>ensuite inclure cela dans l'objectif:
Properties="ReferencePath=$(SomeReferencePath)"Cela va demander au compilateur de regarder dans cette voie de référence pour le résoudre est référencé assemblées.
Je pense = :)
[Edit: cela tous aller dans un nouveau script msbuild qui construit tous vos sous-projets.]
Questions connexes
- 1. TeamCity chemin vers les assemblages de référence externes
- 2. Comment faire pour déboguer MSBuild Customtask
- 3. Que sont les assemblages côte à côte?
- 4. Comment configurer ClickOnce pour les assemblages multifiliers
- 5. Comment faire MSBuild pour copier automatiquement toutes les références indirectes dans le dossier de sortie (bin)
- 6. Comment faire pour échouer un MSBuild lorsque les fichiers de contenu sont manquants
- 7. Comment faire pour que l'utilisateur persiste entre les sessions?
- 8. Comment faire pour que Fiddler écoute toutes les adresses IP
- 9. Comment faire pour que SQL Server ignore les vérifications?
- 10. Meilleure méthode pour obscurcir ou sécuriser les assemblages .Net
- 11. Chargement des assemblages
- 12. Recherche d'une configuration MsBuild de référence sur un grand projet
- 13. Fichiers de configuration pour les assemblages dans GAC
- 14. Quels sont les bons serveurs d'applications pour les piles LAMP?
- 15. Utilisation de BuildManager.GetType pour rechercher les assemblages dans WPF
- 16. MSBuild obtenir la référence d'assembly à partir de ProjectReference
- 17. Comment faire pour que les attributs dynamiques fonctionnent dans les fichiers de balises JSP?
- 18. Comment déployer la source d'échantillon, avec des assemblages de référence correctement?
- 19. Comment charger les assemblages qui implémentent une interface?
- 20. comment configurer les répertoires MSBuild VC++
- 21. Tâche SFTP pour msbuild?
- 22. Comment charger les assemblages intégrés que vous avez inclus dans votre assemblage principal?
- 23. Bons conseils pour une présentation technique
- 24. Comment puis-je tester que JavaScript a été appelé avec les bons arguments dans GWT?
- 25. Utilisation des paramètres d'application dans les assemblages
- 26. Comment faire pour que UIMenuController fonctionne pour une vue personnalisée?
- 27. Tous les bons outils pour créer des chronologies?
- 28. Où puis-je voir de bons exemples de ce que WPF est capable de faire?
- 29. Quels sont les bons addins d'utilisabilité pour Visual Studio 2008?
- 30. Où sont les bons endroits pour commencer à apprendre VB?
Ahh. Accrochez-vous, vous parlez des fichiers .proj. Pardon. Ce que je ferais faire est de créer un nouveau script msbuild qui construit tous les projets. Vous pouvez le faire en ayant une cible pour chaque projet que vous voulez construire. Vous devez ensuite définir le chemin de référence sur chaque cible pour chaque projet. Comme j'ai mis dans cette réponse. (J'ai aussi posté une autre réponse pour une autre façon possible de le faire que vous préférez) –
@Barn: Hey, vous avez supprimé votre commentaire. Maintenant j'ai juste l'impression de me parler à moi-même. = :) Hmm ... Peut-être que je suis ... Moi ... Fou ... Nah ... –