为什么在任何.csproj文件中找不到<Target Name ="Build">?

Ant*_*mas 10 c# msbuild visual-studio

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

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

eva*_*nal 13

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


Mik*_*ray 5

csproj通常有这样的:

  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
Run Code Online (Sandbox Code Playgroud)

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