0

VS 2010 Win7 x64 で .Net 4.0 をターゲットとする WCF プロジェクトがあります。これは署名付きアセンブリであることに注意してください。Box.V2 SDK は NuGet を介してインストールされており、使用しているバージョンは 1.0.5 です。

ソリューションを構築しようとすると、悪いことが起こり始めました。最初の問題は、次のエラーのために先に進むことができなかった Box.V2 dll 自体にありました。

「アセンブリの生成に失敗しました -- 参照されたアセンブリ 'Box.V2' には厳密な名前がありません」.

「Brutal Developer .NET Assembly Strong-Name Signer (1.3.0.0)」を使用してアセンブリに署名することで、この問題を克服することができました。

正常にビルドされた後、BoxClient を作成すると次のメッセージで例外がスローされるという 2 番目の問題に遭遇しました。

「ファイルまたはアセンブリ 'Nito.AsyncEx, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' またはその依存関係の 1 つを読み込めませんでした。厳密な名前のアセンブリが必要です。(HRESULT からの例外: 0x80131044)」.

次のコードを使用して、クライアントをインスタンス化しました。

var config = new BoxConfig(clientId, clientSecret, new Uri(redirectUri)); 
var client = new BoxClient(config); 

ここで、clientId、clinetSecret、redirectUri はメソッドのパラメーターです。

問題を解決するために実行した手順:

  1. Nito.AsyncEx.dll は、前述の同じツールを使用して署名されました - 同じ例外です。
  2. Nito.AsyncEx アセンブリは最新バージョン (2.1.3.0) にアップグレードされました。実際、彼らはそれを微調整し、アセンブリに厳密な名前を使用しましたが、まだうまくいきません。
  3. ここに提出された問題の 1 つ ( https://github.com/box/box-windows-sdk-v2/issues/3 ) にも同様の問題があり、提案されたシナリオに従おうとしましたが、あまり役に立ちませんでした。
  4. アセンブリにまったく署名しないようにしましたが、同じ例外がスローされたため、再び無駄になりました。
  5. また、ここで説明されているように、Box.V2.dll を微調整して署名しようとしましたが、これらのエラーがスローされたため、後でビルドすることさえできませんでした。

タイプ「Box.V2.BoxClient」によって参照されるアセンブリ「System.Runtime、Version=2.6.3.0、Culture=neutral、PublicKeyToken=b03f5f7f11d50a3a」の基本クラスまたはインターフェイス「System.Object」を解決できませんでした

タイプ「Box.V2.Config.BoxConfig」によって参照されるアセンブリ「System.Runtime、Version=2.6.3.0、Culture=neutral、PublicKeyToken=b03f5f7f11d50a3a」の基本クラスまたはインターフェイス「System.Object」を解決できませんでした

そのため、現在、製品に Box API をデプロイするのに行き詰まっており、かなりイライラしています。

どんな助けでも大歓迎です。

4

1 に答える 1

1

Box チームは、署名済みアセンブリを含む更新 SDK を提供してくれました。これは非常にうまく機能しています。

于 2014-01-31T20:53:06.793 に答える