在发布解决方案时,是否可以忽略某些项目?

时间:2014-06-23 00:53:01

标签: msbuild publish-profiles

我们有一些项目仅在某些环境中使用,因此我希望发布以跳过它们。但是,在发布整个解决方案时,我收到以下msbuild错误:

"C:\Source\Solution.sln" (default target) (1) ->
"C:\Source\Project\Project.csproj" (default target) (51) ->
(ValidatePublishProfileSettings target) ->
  C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.targets(4253,5): error : The value for PublishProfile is set to 'Sta
ge', expected to find the file at 'C:\Source\Project\Properties\PublishProfiles\Stage.pubxml' but it could not be found. [C:\Source\Project\Project.csproj]
  C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.targets(4260,4): error : PublishProfile(Stage) is set. But the $(Web
PublishMethod) does not have a valid value.  Current Value is "". [C:\Source\Project\Project.csproj]
  C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.targets(4267,5): error : Target ValidatePublishProfileSettings Faile
d [C:\Source\Project\Project.csproj]

发布解决方案时有没有办法忽略项目,所以我没有出现构建错误?

1 个答案:

答案 0 :(得分:2)

我选择:

  1. 自定义构建srcript(为您要发布的每个项目单独调用msbuild)(我的首选选项因此它为您提供了更大的灵活性)
  2. 一个自定义.sln文件,其中只包含所需项目,仅用于发布(更容易选择,但更难维护)

    3.只是一个疯狂的猜测(从未尝试过这个用于部署,但应该根据我的理解工作) - 您可以尝试在VS中使用Build -> Configuration Manager对话框取消选中 build 复选框以确定项目,如果您可以为单独的部署计划创建单独的解决方案配置: configuration manager