好奇 - 每当我看到.csproj的xml时,它都以DefaultTargets="Build"
开头,因此我认为应该存在<Target Name="Build">
;但是,我从未在任何.csproj
文件中找到此默认目标。
VS是否在编译之前注入此目标,或者默认情况下msbuild是否构建了它。内部会发生什么?
答案 0 :(得分:12)
在文件底部附近你会看到这个; <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
导入标准目标,“Build”就是其中之一。导入基于项目文件中可用的其他数据以动态方式生成“构建”目标。
答案 1 :(得分:5)
csproj通常有这个:
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
根据MSDN也导入了定义目标的Microsoft.Common.targets。
答案 2 :(得分:1)
有一个或多个&lt;导入...&gt;在项目文件中的某个地方导入应该具有该目标的其他文件...