使用最新版本的 nuget 参考构建 C# 标准项目

Posted

技术标签:

【中文标题】使用最新版本的 nuget 参考构建 C# 标准项目【英文标题】:Build C# standard project with the latest versions of the nuget references 【发布时间】:2019-03-15 07:14:58 【问题描述】:

在使用新的 C# 项目时,我们没有 packages.config 文件。依赖项在 *.proj 文件中指定,类似于:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
    <LangVersion>latest</LangVersion>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="XYZ.Definitions" Version="1.0.0-CI-20181010-102209" />
    <PackageReference Include="XYZ.Definitions.Common" Version="1.0.0-CI-20181010-102209" />
  </ItemGroup>
</Project>

如何指定我始终希望使用我的参考可用的最新版本进行构建?

我在想这样的事情:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netstandard2.0</TargetFramework>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
    <LangVersion>latest</LangVersion>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="XYZ.Definitions" Version="latest" />
    <PackageReference Include="XYZ.Definitions.Common" Version="latest" />
  </ItemGroup>
</Project>

我不知道这是否可能。 另外here 您可以找到解决方案,但在另一种情况下,即使用 packages.config 和 nuget.config 文件。

【问题讨论】:

【参考方案1】:

* 将使用可用的最新稳定版本。

解决方案:

<PackageReference Include="XYZ.Definitions" Version="*" />

【讨论】:

以上是关于使用最新版本的 nuget 参考构建 C# 标准项目的主要内容,如果未能解决你的问题,请参考以下文章

如何使用使用不同选项构建的 C# 和 C++ 库创建 Nuget 包?

添加nuget包时不会自动安装依赖项

如何说服VS Code引用最新版本的软件包?

C#执行javascript代码,执行复杂的javascript代码新方式

如何从 NuGet 包及其依赖项安装 PowerShell 二进制 cmdlet (C#)

Jenkins 和 gradle - 使用最新版本的 CI 依赖项构建项目,用于生产的特定版本