2017-04-13 3 views
0

L'utilisation de chemins d'accès relatifs pour inclure les tâches BeforeBuild MSBuild afin de garantir que les dépendances sont générées en premier.Est-ce que Visual Studio (MSBuild) résout à partir de la solution ou du répertoire du projet?

Notre structure de dossier est Dossier de solution -> Solution -> Dossier de projet -> Projet.

MSBuild résout-il à partir du dossier de la solution ou du dossier du projet?

Merci!

+0

Pour MSBuild la solution VS est juste un conteneur - les dépendances sont résolues entièrement par les références de projet, donc votre structure de dossiers n'a pas vraiment d'importance. Vous pouvez référencer un projet à partir d'un dossier Solution différent et MSBuild sera toujours capable de déterminer l'ordre de génération. Vous pourriez vouloir expliquer pourquoi vous avez besoin de tâches dédiées pour créer des dépendances. (et je n'ai pas DV, juste pour l'enregistrement) – Filburt

+0

Nous avons des dépendances réparties sur plusieurs solutions. Grande application ancienne avec 56 composants disparates. Nous avons essayé d'utiliser NuGet pour la gestion des dépendances, mais nous avons rencontré des problèmes avec les développeurs qui ne faisaient pas attention si le paquet qu'ils tiraient faisait partie de leur branche spécifique ou non. La procédure actuelle consiste à créer manuellement toutes ces solutions séparément, en essayant de mieux les assembler via les tâches MSBuild. – John

+0

Cela efface l'image et prépare les répondeurs suggérant NuGet comme une solution simple. – Filburt

Répondre

0

Cela dépend du contexte de votre chemin de fichier. En cas de doute, vous pouvez utiliser $(MSBuildProjectDirectory) ou $(MSBuildThisFileDirectory) pour vous assurer d'avoir le bon emplacement.