0

次のような nuget nuspec ファイルを定義しました。

<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
    <id></id>
    <version></version>
    <title></title>
    <authors></authors>
    <owners />
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description></description>
    <references>
        <reference file="A.dll" />
    </references>
</metadata>
<files>
    <file src="A.dll" target="lib\net40-client" />
    <file src="B.dll" target="lib\net40-client" />
</files>

これにより、B.dll を参照として追加せずにプロジェクトをビルドするときに、B.dll が A.dll と一緒にコピーされます。

ここで、B.dll が C.dll に依存しているとします。A.dll と B.dll の nuspec ファイルを作成して、この依存関係を表現するにはどうすればよいですか? B.dll または C.dll を参照として使用するか、A.dll の nuspec ファイルに C.dll を明示的に追加します。

4

1 に答える 1

1

B.dll に C.dll が必要な場合は、<files>リストに含める必要があります。どうすればそれを回避できるかわかりません。

<files>
 <file src="A.dll" target="lib\net40-client" />
 <file src="B.dll" target="lib\net40-client" />
 <file src="C.dll" target="lib\net40-client" />
</files>

プロジェクト参照として追加された lib の下のアセンブリの名前指定しない場合、lib 内のすべての参照がプロジェクト参照として追加されます。参照を指定するときは、パッケージ内のパスではなく、名前のみを指定してください。references

したがって、A.dll唯一の として指定することによりreference、NuGet はプロジェクト参照を に追加しないことを認識しC.dllます。

于 2012-12-19T20:20:02.383 に答える