Nugetを使用してパッケージを作成しています。.nuspec
他のNuGetパッケージへの()ファイルの依存関係を含まないパッケージを作成したいと思います。私のプロジェクトでは、ファイルにNuGetパッケージの依存関係が定義されていpackages.config
ます。
まず、.nuspec
ファイルを作成します...
C:\code\MySolution>.nuget\nuget.exe spec MyProject\MyProject.csproj
.nuspec
生成されたファイルを、依存関係のない最小限に編集します。
<?xml version="1.0"?>
<package >
<metadata>
<id>MyProject</id>
<version>1.2.3</version>
<title>MyProject</title>
<authors>Example</authors>
<owners>Example</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Example</description>
<copyright>Copyright 2013 Example</copyright>
<tags>example</tags>
<dependencies />
</metadata>
</package>
次に、ソリューションをビルドしてNuGetパッケージを作成します...
C:\code\MySolution>.nuget\nuget.exe pack MyProject\MyProject.csproj -Verbosity detailed
これがそのコマンドの出力です...
Attempting to build package from 'MyProject.csproj'.
Packing files from 'C:\code\MySolution\MyProject\bin\Debug'.
Using 'MyProject.nuspec' for metadata.
Found packages.config. Using packages listed as dependencies
Id: MyProject
Version: 1.2.3
Authors: Example
Description: Example
Tags: example
Dependencies: Google.ProtocolBuffers (= 2.4.1.473)
Added file 'lib\net40\MyProject.dll'.
Successfully created package 'C:\code\MySolution\MyProject.1.2.3.nupkg'.
作成された.nupkg
パッケージには.nuspec
ファイルが含まれていますが、元のファイルにはなかった依存関係セクションが含まれてい.nuspec
ます...
<dependencies>
<dependency id="Google.ProtocolBuffers" version="2.4.1.473" />
</dependencies>
これが原因だと思います...(上記の出力から)
Found packages.config. Using packages listed as dependencies
NuGetが依存関係を自動的に解決せず、コマンド.nuspec
から生成されたファイルに挿入しないようにするにはどうすればよいですか?pack
現在、NuGet2.2を使用しています。また、この動作は古いバージョンのNuGetでは発生しなかったと思います。これは新しい「機能」ですか?この「機能」またはいつ実装されたかを説明するドキュメントが見つかりませんでした。