nuget
VisualStudioTeamServices
.NETCore

VSTSでNuGetパッケージを作らせる

多分、また忘れるだろうと思うので、個人的にメモ。

.csprojの設定

<PackageVersion Condition="'$(Configuration)' == 'Debug'">$(Version)-alpha</PackageVersion>
<PackageVersion Condition="('$(Configuration)' == 'Debug') AND ('$(BUILD_BUILDID)' != '')">$(Version).$(BUILD_BUILDID)-alpha</PackageVersion>

こう書いておくと、 -c Debug でプレリリースのパッケージが作れる。
2行目の設定でVSTS時にビルド番号を入れたプレリリースのパッケージにできる。

VSTSのビルド設定

ビルド変数に BuildConfiguration = Debug を突っ込んでおくことで、デバッグビルドをさせることができる。

021.png

あとは、.Net Coreタスクでpack→nuget pushする。

pack
022.png

nuget push
023.png

パッケージの場所を確認する

Package (①)内の Connect to feed (②)を選ぶと、パッケージの場所が表示されるので、 Package source URL の欄をNuGetパッケージソースとして設定する。

024.png

ファイルでNuGetソースの設定をする

プロジェクトディレクトリのルートに .nuget/NuGet.config ファイルを以下の内容で作っておく。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
    <add key="My NuGet" value="https://foo-bar.pkgs.visualstudio.com/_packaging/Product/nuget/v3/index.json" />
  </packageSources>
</configuration>

My NuGet のvalueには、前の「パッケージの場所を確認する」で確認した Package source URL を設定する。