MSBuild Включить удаленный файл 2008? - PullRequest
0 голосов
/ 07 апреля 2010

TFS 2008, VS 2008. У меня есть файлы tfsbuild.proj и tfsbuild.msp в папке $ / MyStuff / TeamBuildTypes / Dev. У меня есть целевой файл в $ / MyStuff / TeamBuildTypes / IncludeFiles / Common / test.xml. test.xml содержит фрагмент XML, который переопределяет задачу BeforeGet.

Я попытался вставить файл в мой файл tfsbuild.proj, например:

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

Сборка завершается неудачно, поскольку она пытается получить файл по относительному пути, который находится далеко.

Я немного переключил передачи и сейчас пытаюсь выполнить задачу Exec, чтобы получить файл из TFS в локальную файловую систему.

<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" />

Понятия не имею, куда идет файл. Я не получаю ошибку. У меня есть доступ к переменной $ (SolutionRoot), но папка TeamBuildTypes находится над этой папкой в ​​файловой системе. Как я могу получить к этому файлу и использовать его как переопределение моей задачи для текущей сборки?

Помощь

Спасибо!

1 Ответ

1 голос
/ 10 апреля 2010

Это не «удаленный» путь. Это путь в систему контроля версий TFS. Это может понять только TFS.

MSBUILD не является частью TFS - это часть .NET SDK. Он может понимать только те пути, которые могут понять все программы.

Вам нужно будет извлечь этот файл из системы управления версиями на компьютер сборки и сослаться на него, указав путь к тому месту, куда вы его взяли.

...