Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 从外部文件而不是.csproj文件读取版本前缀_Linux_Msbuild_Csproj_.net Core 2.0 - Fatal编程技术网

Linux 从外部文件而不是.csproj文件读取版本前缀

Linux 从外部文件而不是.csproj文件读取版本前缀,linux,msbuild,csproj,.net-core-2.0,Linux,Msbuild,Csproj,.net Core 2.0,此时,my.csproj文件包含XPath/Project/PropertyGroup/VersionPrefix,它决定了nuget包的版本。 但是,我更愿意从共享文件中读取此版本前缀,因为这对于3个或4个项目来说很常见,每个项目都有自己的.csproj文件 换句话说,不是 2.0.0 我们更喜欢吃像这样的东西 @@include.././version.xml 这个version.xml包含上面将被替换的行 我相信会有多种方法来实现这一目标,但无法确切了解如何实现。非常感谢您的帮助。您可以在

此时,my.csproj文件包含XPath
/Project/PropertyGroup/VersionPrefix
,它决定了nuget包的版本。 但是,我更愿意从共享文件中读取此版本前缀,因为这对于3个或4个项目来说很常见,每个项目都有自己的.csproj文件

换句话说,不是

2.0.0

我们更喜欢吃像这样的东西

@@include.././version.xml

这个version.xml包含上面将被替换的行


我相信会有多种方法来实现这一目标,但无法确切了解如何实现。非常感谢您的帮助。

您可以在所有项目上方的文件夹层次结构中创建一个名为
Directory.Build.props
的文件,并将共享属性放在其中:

<Project>
  <PropertyGroup>
    <VersionPrefix>2.0.0</VersionPrefix>
  </PropertyGroup>
</Project>

2.0.0
MSBuild将自动查找并导入此文件。(您可能需要重新打开编辑器/visual studio)。有关详细信息,请参阅MSBuild的文档