我有一个NuGet软件包,我正在处理自定义道具/目标文件,我想知道在定义和覆盖方面如何定义多个属性、项目和目标的最佳实践。
把所有的房产直接放在我的房子里更好吗
MyNuGetPackage.targets
归档,不要使用
MyNuGetPackage.props
就这样吗?
<PropertyGroup>
<UseMyTarget Condition="'$(Prop1)' == ''">true</UseMyTarget>
</PropertyGroup>
<Target Name="MyTarget" Condition="'$(UseMyTarget)' == 'true'>
...
</Target>
还是更好的做法是定义
UseMyTarget
在
.props
无条件归档,并将目标保存在。目标文件?
如果我需要捕获Microsoft或其他人为其设置默认值的属性,这两种方法都会失效。例如:
<PropertyGroup>
<MyCustomOutputPath>$(OutputPath)/somethingelse</UseMyTarget>
</PropertyGroup>
如果我用
.道具
,
OutputPath
可能还没定下来。。。
另一方面,许多作者似乎只使用
.targets
他们自己那么,为了我的生活中需要依赖的事情,我做这样的事情会更好吗
.目标
而且不用担心
.道具
文件夹?
<Project InitialTargets="InitializeDependentProperties">
<Target Name="InitializeDependentProperties">
<PropertyGroup>
<MyCustomOutputPath>$(OutputPath)/somethingelse</UseMyTarget>
</PropertyGroup>
</Target>
</Project>
微软自己的MSBuild道具/目标实践似乎根本没有遵循任何标准/惯例。
我确实想让消费项目能够改变我的行为
.props/.targets
通过设置
Properties/Items/Targets
他们自己