3

アセンブリと別のカスタム NuGet パッケージ (My.Base) への依存関係を含むカスタム NuGet パッケージ (My.Resources) があります。

パッケージをインストールすると、インストールは正常に終了しますが、アセンブリ参照は追加されません。Install-Packageコマンドからの完全な出力は次のとおりです。

Attempting to resolve dependency 'My.Base (≥ 1.0.0)'.
Installing 'My.Base 1.0.0'.
Added file 'My.Base.dll' to folder 'My.Base.1.0.0\lib\net45'.
Added file 'My.Base.1.0.0.nupkg' to folder 'My.Base.1.0.0'.
Successfully installed 'My.Base 1.0.0'.
Installing 'My.Rsources 1.1.0-beta0001'.
Added file 'My.Resources.dll' to folder 'My.Resources.1.1.0-beta0001\lib\net45'.
Added file 'My.Resources.XML' to folder 'My.Resources.1.1.0-beta0001\lib\net45'.
Added file 'My.Resources.1.1.0-beta0001.nupkg' to folder 'My.Resources.1.1.0-beta0001'.
Successfully installed 'My.Resources 1.1.0-beta0001'.
Adding 'My.Base 1.0.0' to WindowsFormsApplication8.
For adding package 'My.Base 1.0.0' to project 'WindowsFormsApplication8' that targets 'net45',
>> Assembly references are being added from 'lib\net45'
Added reference 'My.Base' to project 'WindowsFormsApplication8'
Added file 'packages.config'.
Added file 'packages.config' to project 'WindowsFormsApplication8'
Successfully added 'My.Base 1.0.0' to WindowsFormsApplication8.
Adding 'My.Resources 1.1.0-beta0001' to WindowsFormsApplication8.
Added file 'packages.config'.
Successfully added 'My.Resources 1.1.0-beta0001' to WindowsFormsApplication8.

他にもいくつかのカスタム NuGet パッケージが構造化され、同じ方法でビルドされていますが、この動作を持つのはこれだけです。.nuspec内部は問題.nupkgなく、アセンブリは正しい ( net45) フォルダーにあります。

4

1 に答える 1

6

NuGet は、NuGet パッケージを、言語リソースのみを含むローカライズされた NuGet パッケージとして扱います。この種類の NuGet パッケージのアセンブリは参照されません。

たとえば、My.Resources.dll の名前を My.Resources2.dll などに変更すると、NuGet はアセンブリを参照します。

基本的に、.resources.dll で終わるファイルはすべて、NuGet によってリソース アセンブリと見なされ、NuGet パッケージのインストール時に参照されません。

于 2016-02-29T18:28:51.043 に答える