Net Standard - пакет публикации пакета Nuget в виде ключевого слова add в командной строке - PullRequest
0 голосов
/ 30 ноября 2018

Я создаю новую библиотеку Net Standard и хочу опубликовать пакет в локальном репозитории nuget.

Для этого у меня есть два способа: использовать командную строку или использоватьОпция публикации, предлагаемая Visual Studio.

Используя командную строку, я использую ключевое слово «add» из командной строки (из-за того, что это источник не из http-пакета), и он отлично работает, он создаетпакет nuget с его файлом nuget.sha512.

Используя опцию публикации, предлагаемую Visual Studio, я не смог повторить предыдущее поведение, поскольку он реплицировал ключевое слово push в командной строке.

В одном и том же локальном репозитории я не могу хранить два разных пакета, один с файлом .nupkg.sha512, а другой без него, потому что менеджер пакетов nuget найдет только эти пакеты без ".nupkg.sha512"extension.

Можно ли как-то сказать Visual Studio, чтобы он реплицировал поведение" add ", используя опцию публикации?

Заранее спасибо.

1 Ответ

0 голосов
/ 30 ноября 2018

Есть ли какой-нибудь способ, которым я мог бы сказать Visual Studio, чтобы он реплицировал поведение "добавления", используя опцию публикации?

Боюсь, что нет такого прямого способа, которым вы могли бы сказатьв Visual Studio, чтобы реплицировать поведение «добавления» с помощью параметра публикации, поскольку команда добавления поддерживается только NuGet CLI .Мы не могли использовать его напрямую с опцией публикации.

В качестве обходного пути вы можете добавить настраиваемую цель для вызова NuGet CLI при публикации вашего проекта.

Для этого отредактируйте ваш проект.Затем в самом конце проекта, непосредственно перед конечным тегом </project>, разместите ниже сценариев:

  <Target Name="AddPackage" AfterTargets="GenerateNuspec">
    <Message Text="Add Package to the local nuget repository!"></Message>
    <Exec Command="<PathOfNuGetCli>\nuget.exe add &quot;<PathOfPackage>\xxx.1.0.0.nupkg&quot; -source &quot;<localNuGetRepository>&quot;"></Exec>
  </Target>

Примечание. Поскольку эта пользовательская цель зависит от цели GenerateNuspec, онабудет выполнен дважды, но не беспокойтесь об этом, у него не будет никакой фактической операции, когда он выполняется в первый раз (пакет еще не был опубликован в указанной папке).

Hopeэто помогает.

...