11

只是好奇-每当我看到 .csproj 的 xml 时,它都会以开头,DefaultTargets="Build"因此我认为它<Target Name="Build">应该存在;但是,我从未在任何.csproj文件中找到此默认目标。

VS 是在编译之前注入此目标还是默认情况下 msbuild 构建它。内部会发生什么?

4

3 回答 3

15

在文件底部附近你会看到这个;<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />导入标准目标,“构建”就是其中之一。导入会根据项目文件中可用的其他数据以动态方式生成“构建”目标。

于 2012-11-09T21:52:34.943 回答
6

csproj 通常有这个:

  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />

根据MSDN,它还导入 Microsoft.Common.targets,这是定义该目标的位置。

于 2012-11-09T21:52:25.873 回答
1

项目文件中有一个或多个 <Import ...> 导入其他应该具有该目标的文件...

于 2012-11-09T21:47:01.977 回答