我有一个 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程序包”时无法查看该程序包。相反,我看到以下错误:
由于错误,很明显我的nuget包没有使用传递给PackageVersion属性的值,而是获取了一个空字符串。 我的nuget软件包位于计算机上的以下路径中: “ D:\ CustomNugetPackages”。 有没有办法从命令行传递nuget包的版本值?