只是好奇 - 每当我看到的.csproj的XML,它DefaultTargets="Build"
开始,因此我认为<Target Name="Build">
应该存在;但是,我从未在任何.csproj
文件中找到此默认目标。为什么在任何.csproj文件中找不到<Target Name =“Build”>?
不VS编译之前注射这种目标或没有内置的MSBuild默认情况下它。内部会发生什么?
只是好奇 - 每当我看到的.csproj的XML,它DefaultTargets="Build"
开始,因此我认为<Target Name="Build">
应该存在;但是,我从未在任何.csproj
文件中找到此默认目标。为什么在任何.csproj文件中找不到<Target Name =“Build”>?
不VS编译之前注射这种目标或没有内置的MSBuild默认情况下它。内部会发生什么?
近,你会看到这个文件的底部; <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
哪个进口标准目标,“Build”就是其中之一。导入会根据项目文件中提供的其他数据以动态方式生成“构建”目标。
存在一个或多个<导入...>某处一个导入其他文件(s)表示,应该有目标的项目文件...
那么,有什么问题呢?这取决于你的VS版本,项目文件版本,项目情况(TFS绑定与否),你对项目的设置。我建议你不要对这些事情好奇,因为他们什么都不教你。试着对逻辑设计及其实现方式感到好奇。除了这些结构之外,还有许多硬编码的东西。
干杯
方式进口的构建文件我很欣赏你的建议,但它并没有回答我的问题。 –
是的,我知道。因为正如你所说,只是一个建议,我的经验让我为你写。 ;) – Rikki
甲的csproj通常具有这样的:
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
其中根据MSDN也进口Microsoft.Common.targets这一种情况,即目标被定义。
看到由的 –
rene