$ (SolutionDir) MSBuild incorrect lors de l'exécution de Sandcastle Help File Builder via CMD
Quand je lance Sandcastle Help File Builder fichier de projet (par exemple myproject.shfbproj
) à l'aide de Windows CMD, j'ai un problème ennuyeux: $(SolutionDir)
a la même valeur que $(ProjectDir)
et cela signifie que la documentation du projet sources ne construiront pas correctement parce que je suis l'ajout de cibles qui utilise déjà $(SolutionDir)
.
Si je construis l'ensemble de Sandcastle Help File Builder à partir de Visual Studio, il est construit avec succès.
Je suis en utilisant la commande suivante (exécuté à partir du répertoire où le projet est stocké):
"C:\Program Files (x86)\MSBuild.0\Bin\MSBuild.exe" /p:Configuration=Development myproject.shfbproj
Est-il une solution pour cela?
source d'informationauteur Matías Fidemraizer
Vous devez vous connecter pour publier un commentaire.
Vous obtenez seulement la la bonne
$(SolutionDir)
si vous êtes à la construction de votre solution de (.la sln fichier). Le.shfbproj
est un fichier de projet, et en tant que telle n'a pas de référence à la décision des parents. Vous pouvez essayer de préciser la$(SolutionDir)
dans votre ligne de commande de manière explicite:Pour référence: http://blogs.msdn.com/b/pfedev/archive/2008/09/26/solutiondir-and-msbuild.aspx
Tandis que @m0sa a souligné une très évident fait (depuis que je suis en train de construire le Sandcastle Help File Builder projet, il n'y a pas de solution réelle répertoire), la question a aussi été qui se passe lors d'un Build TFS lors de la construction de la solution où réside le soi-disant projet de documentation.
Pour l'instant j'ai réussi à résoudre le problème à l'aide d'un méchant solution de contournement: l'ajout d'un
SolutionDir
propriété dans chaque projet C# qui doit être construit dans le cadre du projet de documentation:Depuis mon fichier de solution sera toujours situé dans le répertoire parent de Sandcastle Help File Builder projet diretory, dans mon cas, cette solution fonctionne...
Maintenant des projets référencés en tant que sources de documentation sont en mesure d'importer un projet personnalisé où je définir des propriétés MSBuild à la fois dans Visual Studio génère ou externes: