Пакет TFSBuild 2010 содержит только исходные коды, а не двоичные файлы - PullRequest
1 голос
/ 15 ноября 2011

Пакеты, созданные в сборке TFS 2010, содержат только наши источники, а не двоичные файлы.Когда он (автоматически) развертывается в IIS, сайт не запускается, потому что отсутствуют библиотеки DLL, созданные в процессе сборки.

У нас есть веб-проект, созданный в VS2010.Если я выберу «Build Deployment Package» по щелчку правой кнопкой мыши в VS, мы получим zip-файл в папке obj \ Release \ Package, который содержит полностью созданный сайт.

Однако, если вы попросите наш процесс сборки TFS создатьпакет, добавив "/ p: CreatePackageOnPublish = true / p: DeployOnBuild = true" к аргументам MSBuild (как рекомендовано в других местах здесь ), мы получаем ZIP-файл в _PublishedWebsites \ _Package \ .zip, которыйсодержит только источники.

Я думаю, что CopyAllFilesToSingleFolderForPackage забирает файлы не из того места.

Я заметил аналогичную проблему, заданную здесь - TFS 2010 и создание пакета - хотя его обходной путь не подходит во многих случаях, я думаю.

Моя проблемав том, что он использует встроенную, но плохо документированную функцию MSBuild / TFS, поэтому, когда она не работает, вы немного в пустыне.

1 Ответ

1 голос
/ 21 ноября 2011

Похоже, что deployOnBuild запускает какую-то "пакетную" цель в каждом из проектов. Если вы собрали проекты в отдельном каталоге (что по умолчанию делает сборка TFS 2010 по умолчанию), упаковка не подберет скомпилированные файлы.

Одним из решений является избавление от пользовательской папки вывода для команды MSBuild в рабочем процессе сборки TFS. Это приведет к тому, что скомпилированные файлы будут расположены на месте и будут включены в пакет.

Теперь остальная часть рабочего процесса TFS требует некоторых изменений, потому что он будет ожидать передачи файлов из выходного каталога, и их там не будет.

...