2

UPDATE 201521011559: これは、パッケージのビルドに使用される .nuspec ファイルの依存関係仕様のエラーが原因ではないかと考えています...

クライアント SDK の .nuspec ファイルは、GoCardless の GitHub リポジトリにあります。

https://github.com/gocardless/gocardless-dotnet/blob/master/GoCardlessSdk/GoCardlessSdk.nuspec

次のセクションが含まれます。

<dependencies>
  <group targetFramework="net20">
    <dependency id="Newtonsoft.Json" version="4.5.11"/>
    <dependency id="RestSharp.Net2" version="1.1.11"/>
  </group>

  <!-- For reasons unknown, NuGet pack will not recognise targetFramework and tries to put all our deps into the default group.-->
  <!--
  <group targetFramework="net35">
    <dependency id="Newtonsoft.Json" version="5.0.2"/>
    <dependency id="RestSharp" version="104.1"/>
  </group>
  -->
</dependencies>

ターゲット プロジェクトのターゲット フレームワークのバージョンに関係なく、RestSharp.Net2 をインストールしようとするということは正しいと思いますか?


元の質問:

私たちのプロジェクトの 1 つは、ASP.NET Web アプリケーションです。ターゲット フレームワークは .NET 3.5 に設定され、クライアント プロファイルなどはありません。

GoCardless .NET SDK を含む NuGet パッケージをインストールしました ( http://www.nuget.org/packages/GoCardless/ )

PM> Install-Package GoCardless

うまく機能しているようです。次に、ページの 1 つに GoCardless.Sdk への参照を追加すると、プロジェクトはコンパイルを拒否します。

型または名前空間名 'GoCardlessSdk' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)

本当に奇妙なのは、参照を削除してから参照を右クリックし、参照を追加し、..\packages\GoCardless\lib\net35\フォルダーを参照して を選択するGoCardlessSdk.dllと、次のエラーが発生することです。

'GoCardlessSdk.dll' またはその依存関係の 1 つには、プロジェクトで指定されているバージョンよりも新しいバージョンの .NET Framework が必要です。.NET Framework ターゲットを変更するには、[プロジェクト] メニューの [プロパティ] をクリックし、[.NET Framework] ドロップダウン ボックスで新しいターゲットを選択します。

プロジェクトに 'GoCardlessSdk.dll' への参照を追加しますか?

ここに画像の説明を入力

NuGet Package Explorer を使用してパッケージを確認しました。.NET 2.0 と .NET 3.5 の両方のバージョンが確実に公開されます。唯一の依存関係は Newtonsoft.Json と RestSharp で、どちらも .NET 3.5 上で問題なく動作します。

Windows 7 x64 で Visual Studio 2010 Premium を使用しています。これは Visual Studio の問題ですか、それとも .NET の問題ですか、それとも GoCardless SDK NuGet パッケージの具体的な問題ですか?

4

3 に答える 3

0

そのパッケージはサポートされなくなり、所有者によってリストから除外されました。

ここに新しいものを作成しました:

https://github.com/getAddress/goCardless

(または PM> Install-Package getAddress.goCardless)

于 2016-10-13T07:42:47.687 に答える
0

私がお勧めするのは、ソリューション全体を再配置することです。

まず最初に削除します: - GoCardless Client Libraries 1.1.15 (または 1.1.16) を今インストールしている場合はもう一度:

ソリューションを再度コンパイルしてみて、すべてが正常に実行された場合、参照 .dll からファイルが見つからないというエラーが表示されるはずです。

次のことを確認する必要があります。

.NETFramework 3.5

Newtonsoft.Json (≥ 5.0.2) || RestSharp (≥ 104.1) および

または .NETFramework 2.0 の場合

|| Newtonsoft.Json (≥ 4.5.11) || RestSharp.Net2 (≥ 1.1.11)

ここにあるバージョンと正確に一致しています。(GoCardless からの最新の更新)

nugetコントローラーでそれを確認した場合:

パッケージの更新(クリックしてページにアクセス)

[ツール] メニューから [ライブラリ パッケージ マネージャー] を選択し、[パッケージ マネージャー コンソール] をクリックします。インストールされているパッケージで利用可能な新しいバージョンがあるかどうかを確認するには、プロンプトで Get-Package -updates と入力します。

Get-Package コマンド

パッケージを更新するには、パッケージ ID と共に Update-Package を入力します。たとえば、コマンド Update-Package jQuery を入力します。Update-Package コマンドで使用できるその他のオプションについては、get-help Update-Package と入力するか、(../Reference/Package-manager-Console-Commands) を参照してください。

これらの更新/ダウングレードが行われた場合は、次のようにしてアプリケーションの .Net Framework を変更できます。

  1. ソリューション エクスプローラーで、変更するプロジェクトのショートカット メニューを開き、[プロパティ] を選択します。

  2. プロパティ ウィンドウの左側の列で、[アプリケーション] タブを選択します。Visual Studio アプリのプロパティ [アプリケーション] タブ

(Visual Studio 2013 で Windows ストア アプリを作成した後は、対象となる Windows または .NET Framework のバージョンを変更することはできません)。

  1. [ターゲット フレームワーク] リストで、必要なバージョンを選択します。

  2. 表示される確認ダイアログ ボックスで、[はい] ボタンを選択します。

プロジェクトがアンロードされます。再読み込みすると、選択した .NET Framework バージョンがターゲットになります。

.Net FrameWork 3.5 に変更した場合よりも (インポートに関してそれを取ることをお勧めします)、GoCardless.dll を再インポートして、何が起こるか教えてください。私の意見では、参照を追加して作業を開始できるはずです。

于 2015-01-20T15:23:19.627 に答える