2010-04-07 3 views
0

TFS 2008, VS 2008. J'ai un fichier tfsbuild.proj et tfsbuild.msp dans le dossier $/MyStuff/TeamBuildTypes/Dev. J'ai un fichier cible sur $/MyStuff/TeamBuildTypes/IncludeFiles/Common/test.xml. test.xml contient un fragment XML qui remplace la tâche BeforeGet.MSBuild Include Remote File 2008?

J'ai essayé d'obtenir le fichier dans mon fichier TFSBuild.proj comme ceci:

<Import Project="$/MyStuff/TeamBuildTypes/IncludeFiles/Common/test.xml" /> 

La construction échoue parce qu'il tente d'obtenir le fichier à partir d'un chemin relatif qui est loin.

J'ai un peu changé de vitesse et j'essaie maintenant une tâche Exec pour obtenir le fichier de TFS dans le système de fichiers local.

<Exec WorkingDirectory="$(SolutionRoot)" Command="&quot;$(TF)&quot; get &quot;$/MyStuff/TeamBuildTypes/IncludeFiles/Common/test.xml&quot; /version:W$(WorkSpaceName) /overwrite /force /noprompt /recursive" IgnoreExitCode="true" /> 

Je n'ai aucune idée d'où va le fichier. Je n'ai pas d'erreur. J'ai accès à la variable $ (SolutionRoot) mais le dossier TeamBuildTypes est au-dessus de celui dans le système de fichiers. Comment puis-je accéder à ce fichier et l'utiliser comme un override à ma tâche pour la version actuelle?

Aide?

Merci!

Répondre

1

Ce n'est pas un chemin "distant". C'est un chemin dans le contrôle de source TFS. Cela ne peut être compris que par TFS. MSBUILD ne fait pas partie de TFS - il fait partie du SDK .NET. Il ne peut que comprendre le type de chemins que tous les programmes peuvent comprendre.

Vous devrez récupérer ce fichier à partir du contrôle de source sur l'ordinateur de build, et le référencer avec un chemin vers l'endroit où vous l'avez récupéré.