Я хочу передать версию пакета для восстановления пакета nuget с помощью командной строки. Как добиться того же? - PullRequest
0 голосов
/ 17 января 2020

У меня есть пакет 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». Вместо этого я вижу следующую ошибку: enter image description here

По ошибке ясно, что значение, переданное свойству PackageVersion, не используется моим пакетом nuget, я получаю пустую строку вместо. Мой пакет nuget находится по следующему пути на моем компьютере: "D: \ CustomNugetPackages". Есть ли способ передать значение версии пакета nuget из командной строки?

...