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