Почему неопубликовано? - PullRequest
8 голосов
/ 28 декабря 2011

У нас есть решение, которое содержит 17 проектов. Решение имеет несколько конфигураций, таких как Debug, Release, Test, Publish и т. Д.

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

Наша ночная сборка создает каталоги obj \ Release для каждого проекта, но публикация сборки - нет. По этой причине сборка публикации не создает пакет публикации сервера.

Когда я посмотрел журналы сборки, я увидел различия, как показано ниже. Ночная сборка - Выпуск конфигурации (для каждого проекта)

PrepareForBuild:
  Creating directory "obj\Release\".

Опубликовать сборку - Опубликовать конфигурацию (для каждого проекта)

_DeploymentUnpublishable:
  Skipping unpublishable project.

Но я не мог понять, почему? Какой флаг это контролирует?

Мы используем TFS 2010, поэтому Team Build 2010.

1 Ответ

7 голосов
/ 06 декабря 2012

Попробуйте добавить следующие параметры развертывания в файл проекта в группе свойств для конфигурации сборки, которую вы хотите опубликовать:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    ...
    <FilesToIncludeForPublish>OnlyFilesToRunTheApp</FilesToIncludeForPublish>
    <DeployOnBuild>true</DeployOnBuild>
    <DeployTarget>Package</DeployTarget>
    <PackageAsSingleFile>true</PackageAsSingleFile>
</PropertyGroup>

Я получил похожую ошибку при сборке CI веб-проекта.Добавление параметров развертывания в файл web.csproj исправило его.

...