17

CI ビルド パイプラインで nuget.exe (バージョン 2.5) を使用して、別のパッケージに依存するパッケージをインストールしたいと考えています。

次のnuspecファイルがあります。

<?xml version="1.0"?>
<package>
  <metadata>
    <id>A</id>
    <dependencies>
      <dependency id="B" version="1.0.0.1" />
    </dependencies>
  </metadata>
  <files>
    <file src="A.dll" target="lib" />
  </files>
</package>

Bについても同様で、インストールに使用したpackages.configファイルは次のとおりです。

<packages>
  <package id="A" version="1.0.0.1" allowedVersions="[1,2)"/>
</packages>

次のコマンドを実行します。

NuGet.exe install packages.config -ExcludeVersion -Outputdir libs -source http://get.nuget.mydomain

出力が得られます:

Successfully installed 'A 1.0.0.1'.

私の依存関係Bをインストールしないでください。

しかし、packages.config ファイルに B を別々に入れると、A と B の両方がインストールされます。A は A の依存関係であるため、A をインストールするときに B がインストールされることを期待していました。GAC に dll を配置していません (したがって、依存関係の解決は問題にならないと思います)。また、A.nupkg を開いて、依存関係がそこにリストされています。また、ビジュアル スタジオ エディタで A をインストールすると、B もインストールされます (これが発生するはずです)。

A のみをインストールするときに nuget.exe を使用して依存関係 B をインストールするにはどうすればよいですか (A のみを packages.config に入れます)。

ありがとう

4

1 に答える 1