目前,我的.csproj文件包含XPath /Project/PropertyGroup/VersionPrefix
,它确定了nuget包的版本。
但是,我更喜欢从共享文件中读取此版本前缀,因为它通常用于3个或4个项目,每个项目都有自己的.csproj文件。
换句话说,而不是
<VersionPrefix>2.0.0</VersionPrefix>
我们希望有像
这样的东西 @@include ../../version.xml
并且此version.xml包含将被替换的上面的行。
我相信会有多种方法来实现这一目标,但无法确切地了解如何实现这一目标。帮助将不胜感激。
答案 0 :(得分:3)
您可以在所有项目上方的文件夹层次结构中创建名为Directory.Build.props
的文件(例如,在解决方案文件旁边),并在其中放置共享属性:
<Project>
<PropertyGroup>
<VersionPrefix>2.0.0</VersionPrefix>
</PropertyGroup>
</Project>
MSBuild将自动查找并导入此文件。 (您可能需要重新打开您的编辑/视觉工作室)。有关详细信息,请参阅MSBuild的Customize your build文档。