Получите выходной каталог моей сборки TFS в свойстве, используемом моим проектом - PullRequest
1 голос
/ 09 января 2012

У меня есть эта команда в событии пост-сборки:

if $ (ConfigurationName) == Выпустить "$ (SolutionDir) Tools \ NuGet.exe" pack "$ (ProjectDir) MyProject.Contracts.nuspec"

Это прекрасно работает, когда я компилирую в Visual Studio. Но когда моя сборка запускается, это терпит неудачу. Это потому, что кто-то где-то думал, что это хорошая идея, чтобы сборки на TFS не запускались так же, как сборки на компьютере разработчика.

В данном случае это тот факт, что все выходные файлы сгруппированы в общую папку «Binaries».

Итак, мой вопрос таков:

Можно ли использовать свойство (вместо ProjectDir), которое позволит мне ссылаться на выходное местоположение сборки?

Это означает, что он будет указывать на папку binaries при выполнении сборки TFS и указывать на мой обычный вывод при выполнении обычной сборки на основе Visual Studio.

Я пробовал $ (OutDir), но он приравнивается к "bin \ Release \"
ОБНОВЛЕНИЕ: Я пытался использовать $ (OutDir), но Visual Studio не удается с частичным путем, который он предоставляет. Есть ли что-то, что можно использовать с $ (OutDir), чтобы указать полный путь для сборок Visual Studio и TFS?

В случае, если это имеет значение:

  • Версия TFS - TFS 2010 (установлены последние версии)
  • Build Machine и Dev Machine работают под управлением Windows 7 и VS 2010 Ulitmate

1 Ответ

2 голосов
/ 09 января 2012

$(OutDir) должно быть разрешено в bin\debug или bin\release и т. Д. Для локальных сборок, на сервере сборки это будет разрешено в папку Binaries.

Так что да, $(OutDir) должен быть правильным для использования.

...