And*_*hkn 38 msbuild nant visual-studio
我需要构建一个解决方案但排除一个项目.我该怎么办?我搜索了很多关于这个问题,但没有什么可以帮助.
ItemGroup部分引发以下异常:
元素无效.未知任务或数据类型.
PropertyGroup也崛起了例外.
以下是我的代码示例:
<project name="TI 8.1.6 build script">
<ItemGroup>
<Solution Include="${ROOT}\Core\TI Core.sln" Exclude="${ROOT}\Utilities\DTS Indexing Service\Tdi.Origami.IndexUpdaterServiceSetup\Tdi.Origami.IndexUpdaterServiceSetup.wixproj"/>
</ItemGroup>
...
</project>
Run Code Online (Sandbox Code Playgroud)
那么有人可以帮助我吗?
Enr*_*lio 62
您可以使用Visual Studio中的Configuration Manager对话框在解决方案级别排除特定构建配置的项目:

然后,你可以简单地调用msbuild该解决方案文件指定build配置中使用:
msbuild /property:Configuration=Release MySolution.sln
Run Code Online (Sandbox Code Playgroud)
sev*_*tov 17
Enrico建议的解决方案是最通用的解决方案.另一种解决方案可能是<MSBuild>直接使用任务.如果您将所有项目文件放在特定目录下,或者能够轻松枚举您要构建的所有项目(即解决方案中的项目数量不是很大),这将对您有用.
例如,这个msbuild文件将构建当前目录下的每个项目,但特定项目除外:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<MyProjectReferences Include="**\*.*proj" />
<MyProjectReferences Exclude="Utilities\DTS Indexing Service\Tdi.Origami.IndexUpdaterServiceSetup\Tdi.Origami.IndexUpdaterServiceSetup.wixproj" />
</ItemGroup>
<Target Name="BuildAllExceptWixProject">
<MSBuild Projects="@(MyProjectReferences)" Targets="Build" />
</Target>
</Project>
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用命令行构建它 msbuild <myproject> /t:BuildAllExceptWixProject
小智 14
在您的解决方案文件 (.sln) 中,删除 Build.0 条目。例如:
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MyProject", "MyProject.vcxproj", "{2281D9E7-5261-433D-BB04-176A61500CA3}"
EndProject
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{2281D9E7-5261-433D-BB04-176A61500CA3}.Debug|x86.Build.0 = Debug|x64
Run Code Online (Sandbox Code Playgroud)
如果您删除此“Build.0”条目,它将在解决方案中正常加载,但不会通过 GUI 或外部 MSBuild 构建。
| 归档时间: |
|
| 查看次数: |
35748 次 |
| 最近记录: |