2

NuGet パッケージ マネージャーを使用して、名前が .Resources で終わるアセンブリを含むパッケージをインストールすると、パッケージは正しくインストールされますが、そのアセンブリへの参照がプロジェクトに追加されません。

ツール: -

  • Visual Studio エンタープライズ 2015 v4.6.00081
  • Visual Studio 2015 v3.2.60914.10516 の NuGet パッケージ マネージャー

.nu​​spec ファイル:

<?xml version="1.0"?>
<package >
  <metadata>
    <id>ClassLibrary.TestPackage</id>
    <version>1.0.0.0</version>
    <title>ClassLibrary.TestPackage</title>
    <authors>Me</authors>
    <owners>Me</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>$description$</description>
    <tags></tags>
  </metadata>
</package>

.nu​​pkg の内容: -

  • ライブラリ
    • net46 (.NETFramework、バージョン=4.6)
    • ClassLibrary.Resource.dll
    • ClassLibrary.Resources.dll
    • ClassLibrary.Resourcex.dll
    • ClassLibrary.ResourcesWhatever.dll
    • ClassLibrary.Whatever.dll
    • ClassLibrary.WhateverResources.dll

6 つのアセンブリはすべて、.Net 4.6 を対象とする空のクラス ライブラリです。

nuget パッケージをインストールすると、以下を除くすべてのアセンブリの参照が追加されます。

  • ClassLibrary.Resources.dll

名前が .Resources で終わるアセンブリが問題を引き起こしているようです。

このようなアセンブリをアップグレードすると、問題はさらに続きます。参照は以前のバージョンを指し続け、実際にはパッケージ自体がパッケージ フォルダーに残ります。

もちろん、回避策は単純に参照を手動で追加することですが、複数のプロジェクトで使用される定期的に変更されるライブラリにとって、これは反復的で面倒であることが証明されています。

4

1 に答える 1