我的一些.csproj项目文件有特殊目标“AssembleJS”,它将项目中包含的所有.js文件合并到一个大文件中(即webcontrols.csproj的目标为“AssembleJS”,输出为“webcontrols.js”)。 p>
所以,如果我有项目 parts.csproj
我希望parts.csproj的目标AssembleJS在webcontrols.csproj中执行AssembleJS(与MSBuild的标准Build目标一样)。
像
这样的东西<MSBuild Project="@ReferencedProjects" Targets="AssembleJS"/>
不起作用,因为utils.csproj没有目标AssembleJS。
有没有办法根据项目是否有某个目标来过滤@ReferencedProjects?
关于如何处理这种情况的任何其他想法?
答案 0 :(得分:2)
你不能做你想要的。但是你可以通过批处理来实现它。
<Project xmlns=''>
<ItemGroup>
<ReferencedProjects Include="webcontrols.csproj">
<Type>Web</Type>
</ReferencedProjects>
<ReferencedProjects Include="utils.csproj">
<Type>NonWeb</Type>
</ReferencedProjects>
</ItemGroup>
<Target Name="BuildWebProjects">
<MSBuild Projects="@(ReferencedProjects)" Condition=" '%(ReferencedProjects.Type)' == 'Web' " />
</Target>
</Project>
搜索 MSBuild批处理并在sedodream.com上查找一些结果以获取更多信息 资讯
我应该扩展一下吗?