2017-08-06 3 views
0

私のプロジェクトではx.y.zのバージョン1.2.3に依存するNuGetパッケージを使用しています。しかし、NuGetパッケージがx.y.zのバージョン1.1.1で動作するかどうかをテストしたい。NuGetパッケージが依存性の低いバージョンで動作するかどうかをテストするには?

私のプロジェクトのApp.configでこの方法でアセンブリバインドを試してみましたが、1.1.1のバージョンは1.2.3と同じディレクトリに配置されています。

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
      <assemblyIdentity name="x.y.z" publicKeyToken="xxxx" culture="neutral" /> 
      <bindingRedirect oldVersion="0.0.0.0-1.2.3 newVersion="1.1.1" /> 
     </dependentAssembly> 
     </assemblyBinding> 
</runtime> 

しかし、私はまだ、このエラーが出る:

Could not load file or assembly 'x.y.z, Version=1.2.3, Culture=neutral, 
PublicKeyToken=xxxx' or one of its dependencies. 
The system cannot find the file specified. 

私はNuGetパッケージは、DLLの下位バージョンで動作するかどうかを確認するためにテストすることができますどのように任意のアイデア?

ありがとうございます。

答えて

0

NuGetは依存関係管理ツールです。既定では、プロジェクトにプロジェクトをインストールするときに最新バージョンのライブラリが取得されます。あなたの例では、あなたのプロジェクトにはバージョン1.2.3のx.y.zがインストールされています。つまり、あなたが指摘したようにバージョン1.1.1が見つからないことを意味します。

古いバージョンでテストするには、プロジェクトの現在のバージョンをアンインストールする必要があります。あなたはPackage Manager Consoleに行き、あなたのプロジェクトにUninstall-Package x.y.zというコマンドを実行する必要があります。あなたはそれをやった後は

Uninstall Package

は、あなたがしてテストするX.Y.Zの特定のバージョンをインストールする必要があります。これを行うには、Install-Package x.y.z -Version 1.1.1を実行する必要があります。これはNuGetに出て、パッケージの1.1.1バージョンを入手してインストールして、テストを実行できるようになります。 NuGetリポジトリにはバージョン1.1.1が必要です。そうしないと、エラーが発生します。ホストされ、利用可能なバージョンのプロジェクトNuGetページを参照してください。

Install Specific Package Version

+0

何らかの理由で私はパッケージをアンインストールできません。コンソールは、元のNuGetパッケージはそのパッケージに依存しているため、アンインストールできないことを示しています。 – Ashleyy

+0

あなたは依存関係のダンスを演奏する必要があります。まずそれに依存するパッケージをアンインストールする必要がありますが、そのパッケージにも依存する別のパッケージを持つことができます。したがって、あなたが演奏しなければならないダンス。一度に1つずつパッケージを削除しようとすると、最終的には取得されます。また、まだ実行していない場合は、packages.configがバックアップされていることを確認してください。ちょうどために、これはひどく間違っています。 – virusstorm

+0

私は問題を理解しました。私がDLLを読み込めなかったのは、デバッグフォルダーの代わりにパッケージフォルダーに新しいバージョンを入れたからです。あなたの時間をありがとう:) – Ashleyy

関連する問題