我有一个包含大量相关.csproj文件的解决方案。
每个.csproj文件都有一个<Target Name="PublishQA">...
。
当我尝试编译整个解决方案时,构建失败:
> msbuild mysolution.sln /t:PublishQA`
"c:\myproj.sln" (publishqa target) (1) ->
c:\myproj.sln.metaproj : error MSB4057: The target "PublishQA" does not exist in the project. [c:\myproj.sln]
当我直接构建.csproj
项目时,它构建得很好。
如何告诉msbuild将目标传递给项目文件???
答案 0 :(得分:2)
作为一种情况,您可以创建明确构建解决方案的单独目标文件,
<!-- mytargets.targets file -->
<Project ToolsVersion="4.0"
xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
DefaultTargets="MyTargets"
InitialTargets="MyTargets">
<Target Name="MyTargets">
<MSBuild Projects="MySolution.sln" />
</Target>
</Project>
所以现在你应该能够像
一样调用它msbuild.exe mytargets.targets