我想通过nuget软件包来传递软件包版本,以使用命令行进行还原。如何实现相同?

时间:2020-01-17 07:25:08

标签: c# .net msbuild nuget nuget-package

我有一个 SampleNugetPackage 程序包。目前,我正在使用版本号7.9.18,并且很快将迁移到更高版本的7.10.18。 nuget包将被数百个项目使用。我将项目迁移为使用Package Reference而不是packages.config,并在我的.csproj文件下获得了以下代码:

<ItemGroup>
    <PackageReference Include="SampleNugetPackage">
      <Version>7.9.18</Version>
    </PackageReference>
  </ItemGroup>

由于该软件包可供数百个项目使用,因此我无法在每个.csproj文件下手动将版本从7.9.18升级到7.10.18。因此,我正在考虑在那里使用变量。我尝试通过在属性组下定义属性来将其用作“ PackageVersion”,如下所示:

<PropertyGroup>
  <PackageVersion></PackageVersion>
</PropertyGroup>

然后尝试在下面给出的代码中使用此属性:

<ItemGroup>
    <PackageReference Include="SampleNugetPackage">
      <Version>$(PackageVersion)</Version>
    </PackageReference>
  </ItemGroup>

然后我尝试通过命令行使用以下命令来构建我的项目: msbuild myproject.sln /p:PackageVersion=7.9.18 / t:rebuild 但是,当尝试使用Visual Studio查看是否已添加正确的版本时,单击“管理Nuget程序包”时无法查看该程序包。相反,我看到以下错误: enter image description here

由于错误,很明显我的nuget包没有使用传递给PackageVersion属性的值,而是获取了一个空字符串。 我的nuget软件包位于计算机上的以下路径中: “ D:\ CustomNugetPackages”。 有没有办法从命令行传递nuget包的版本值?

0 个答案:

没有答案