Msbuild 发布解决方案时,是否可以忽略某些项目?
我们有一些只在某些环境中使用的项目,所以我希望发布时跳过它们。但是,在发布整个解决方案时,出现以下msbuild错误:Msbuild 发布解决方案时,是否可以忽略某些项目?,msbuild,publish-profiles,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)\MSBu
"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]
发布解决方案时有没有办法忽略项目,这样我就不会出现生成错误?我会选择:
Build->Configuration Manager
对话框取消选中某些项目的Build复选框:
我试着构建一个单独的项目,但它抱怨缺少项目引用,这大概是解决方案通常会处理的。自定义解决方案似乎是双重工作。发布概要文件的一个好处是[理论上]您可以摆脱特定于环境的构建配置。虽然您的想法可行,但这意味着您必须将发布web.config转换复制到特定于构建的配置。老实说,我倾向于发布到一个被忽略的文件夹,因为除非有更好的解决方案,否则它们是例外。您是否添加了对项目或文件的引用?在生成.csproj/.vbproj文件时,msbuild通常会正确处理项目引用。(但很明显,它无法处理文件引用)我们对项目和文件都有引用。无论哪种方式,我们都有控制台应用程序,而这些应用程序不使用发布配置文件,因此我必须使用特定于环境的构建配置。在这种情况下,我可以取消选中该项目的build。