如何获得关于csproj文件packagerreference标签的完整参考?


<PackageReference Include="Google.Protobuf" Version="$(Google_Protobuf_Version)"/>
<PackageReference Include="Grpc.Net.Client" Version="$(Grpc_Net_Client_Version)"/>
<PackageReference Include="Grpc.Tools" Version="$(Grpc_Tools_Version)">

我发现这个.csproj文件,PackageReference没有指定版本号,它被$(Package_name_Version)取代了。这是什么意思?

我检查了微软文档,但没有找到任何信息。

实质上,$(Package_name_Version)是在另一个文件中建立的。当在多个项目中使用相同版本的包时,通常采用这种做法。然后可以通过修改单个指定位置来更新包的版本。

该文件的示例,CUSTOM_FILE.props:

<Project>
<PropertyGroup>
<some_nuget_reference>2.0.0</some_nuget_reference>
</PropertyGroup>
</Project>

该文件的用法:

Import Project="$([MSBuild]::GetPathOfFileAbove('CUSTOM_FILE.props', '$(MSBuildThisFileDirectory)../'))" />
<PackageReference Include="Google.Protobuf" Version="$(some_nuget_reference)"/>

需要注意的是,该文件必须创建在项目的根目录下。

相关内容

  • 没有找到相关文章

最新更新