为什么不可发表?

bah*_*lan 8 msbuild tfsbuild tfs2010

我们有一个包含17个项目的解决方案.解决方案有几个配置,如调试,发布,测试,发布等.

团队项目还有几个构建定义,每个定义都专门用于配置.我们为每晚构建使用Release配置构建,并为发布和部署使用Publish配置构建.所以这些构建定义,构建相同的源代码.但有个问题...

我们的每晚构建为每个项目创建obj\Release目录,但发布版本不会.由于此发布版本不创建服务器发布包.

当我查看构建日志时,我看到了如下差异.每夜构建 - 发布配置(针对每个项目)

PrepareForBuild:
  Creating directory "obj\Release\".
Run Code Online (Sandbox Code Playgroud)

发布构建 - 发布配置(针对每个项目)

_DeploymentUnpublishable:
  Skipping unpublishable project.
Run Code Online (Sandbox Code Playgroud)

但我不明白为什么?哪个标志控制了这个?

我们正在使用TFS 2010,因此Team Build 2010.

Chr*_*gan 7

尝试将以下部署设置添加到要发布的构建配置的属性组内的项目文件中:

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

我在Web项目的CI构建中遇到了类似的错误.将部署设置添加到web.csproj文件更正了它.