【问题标题】:How do you test a nuget package?你如何测试一个nuget包?
【发布时间】:2021-02-02 06:44:50
【问题描述】:

我正在制作一个 nuget 包(一些 c# dll,然后构建到一个 nuget 包中,然后上传到我们的 nuget 服务器)

我想在将包上传到服务器之前先对其进行测试。

我有一个安装了包的测试项目

有没有办法(在命令行等中)从项目中卸载发布包,并从本地机器安装候选包? (测试新的包构建是否真的很好?)。

也可以一键更新和恢复这个候选包,所以如果我对正在打包的代码进行代码更改,我可以一键“构建->包候选包” -> 在测试项目上恢复候选包”。

简而言之:我更改了包中的代码。单击一个按钮,然后在测试项目中按 F5 即可运行最新的代码更改。

【问题讨论】:

  • 不知道是否有内置的东西,但您可以在 PowerShell 脚本中执行 dotnet add package $package $version
  • 嗨,matt,有关于这个问题的最新消息吗?

标签: visual-studio powershell command-line nuget


【解决方案1】:

AFAK,要实现这一点,您必须修改 PackageVersion 节点以使此类 nuget 包每次都唯一。

假设你的 lib 项目和 main 项目都是 new-sdk 项目。

1) 在类库项目的csproj下添加这样的节点,使PackageVersion唯一。还有check this link:

 <PropertyGroup>
    <PackageVersion>1.0.0-re-$([System.DateTime]::Now.ToString('yyyyMMddHHmm'))</PackageVersion>
  </PropertyGroup>

2) 将主项目的 csproj 文件更改为:

<ItemGroup>
    <PackageReference Include="Lib" Version="1.0.0-*" />
  </ItemGroup>

它将使用nuget包源下的最新版本的nuget。

3)如果你修改了lib项目然后完成,请右键点击lib项目Properties-->Pack生成新版本。

4)然后先构建主工程,然后就可以在主工程上使用最新修改的nuget包的代码了。

并且如果你想恢复使用之前版本的nuget包,没有办法,只能在Nuget包管理下手动安装那个版本.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-26
    • 1970-01-01
    • 2022-01-04
    • 1970-01-01
    • 1970-01-01
    • 2010-10-07
    • 1970-01-01
    相关资源
    最近更新 更多