У меня есть пакет nuget как SampleNugetPackage . В настоящее время я использую версию 7.9.18 и скоро собираюсь перейти на более новую версию 7.10.18. Пакет nuget предназначен для сотен проектов. Я перенес свой проект для использования ссылки на пакет вместо packages.config и получил следующий фрагмент кода в моем файле .csproj:
<ItemGroup>
<PackageReference Include="SampleNugetPackage">
<Version>7.9.18</Version>
</PackageReference>
</ItemGroup>
Поскольку пакет будет использоваться сотнями проектов, я не могу go и вручную обновите версию с 7.9.18 до 7.10.18 в каждом файле .csproj. Итак, я думаю об использовании переменной там. Я попытался использовать свойство как «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». Вместо этого я вижу следующую ошибку:
По ошибке ясно, что значение, переданное свойству PackageVersion, не используется моим пакетом nuget, я получаю пустую строку вместо. Мой пакет nuget находится по следующему пути на моем компьютере: "D: \ CustomNugetPackages". Есть ли способ передать значение версии пакета nuget из командной строки?