2016-04-19 12 views
1

私はC#と.netの方が一般的です。私たちが使用するソフトウェアの大部分をSDKで動作させるには、これを使用する必要があります。C#Web Api/MVC.netアセンブリを正しく読み込めません。

コンソールアプリケーションで追加するように指示するアセンブリを追加できますが、すべて正常に動作します。それらをWebアプリケーション(MVCまたはWebAPIのいずれか)に追加しようとすると、他のアセンブリが見つからないというエラーが表示され続けます。最終的に、私はちょうどsdkフォルダ内のすべてのアセンブリ/リファレンス(このための正しい言葉、かなり多くのちょうど.dllファイル)を追加し、今は動作しています。これは間違いなくこれを行う正しい方法ではありません。

アセンブリ/参照が他のアセンブリ/参照を読み込むことができる何かがありますか、それとも私の問題の原因ですか?

UPDATE:

例外は通常、このようなものです:

Could not load file or assembly 'Server, Version=1.5.1.0, Culture=neutral, PublicKeyToken=d11ef57bba4acf91' or one of its dependencies. The system cannot find the file specified. 

そして関数が実際に私の場合は、Webアプリケーション(から呼び出されている場合のみ、ビルド中に発生していません、

+0

dllは物理的にどこに配置されていますか?他のすべての必要なDLLは同じフォルダにありますか? – Dusan

+0

dll-sはすべて同じフォルダにあり、コンソールアプリケーションをビルドするときにsdkガイドに含まれているものだけを含めるとうまく動作する前に言ったように。これは、Webアプリケーションを構築するときにのみ、このように動作します。 – Michael

+0

dllを含むフォルダは、アプリケーションフォルダ内にあるのでしょうか? – Dusan

答えて

0

Visual Studioと一緒にインストールされた「IL Disassembler」というツールを使用して、SDKのアセンブリが依存するその他の依存関係を確認することができます。これは、JSONデータを返すURLにアクセスしたときのAPIです。

インストール場所は変更になる場合がありますが、私のものはここに... です:

を "C \プログラムファイル(x86の)\マイクロソフトのSDK \ WINDOWS \ v10.0A \ binに\ NETFX 4.6ツールは、Ildasm.exeをを\します"使用しているSDKのアセンブリをツールにドラッグアンドドロップし、マニフェストフィールドをクリックします。組み込む必要がある他のアセンブリとともにダイアログが開きます。

enter image description here

0

あなたのコンソールアプリケーションは動作しますが、Webアプリケーションは、例外が欠落していた組立指定する必要がありますしない場合。

コンソール出力ディレクトリをWebビルドの出力ディレクトリと比較してください。必要なDLLが、実行しているWebディレクトリに展開されていることを確認します。

Webプロジェクトのビジュアルスタジオでは、参照の下にあるアセンブリを見つけて選択します。プロパティ "Copy Local"がTRUEに設定されていることを確認します。

関連する問題