2011-12-28 80 views
6

我们有一个包含17个项目的解决方案。 解决方案有几种配置,如调试,发布,测试,发布等。为什么不可开发?

另外团队项目有几个构建定义,每个构建定义都专门用于配置。 我们使用发布配置构建夜间构建和发布配置构建发布和部署。 因此,这些构建定义,建立相同的源代码。但有一个问题...

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

当我查看构建日志时,我看到了下面的差异。 每晚构建 - Release配置(每个项目)

PrepareForBuild: 
    Creating directory "obj\Release\". 

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

_DeploymentUnpublishable: 
    Skipping unpublishable project. 

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

我们使用TFS 2010,所以团队建设2010

+0

阅读围绕“不可发布”消息的日志文件的其余部分,看看它是否告诉您为什么该项目是不可发布的。此外,也许将日志记录级别设置为“详细”获取更多详细信息。 – 2011-12-28 08:40:18

回答

7

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

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

我在Web项目的CI构建中出现类似的错误。将部署设置添加到web.csproj文件中对其进行了更正。