1

Visual Studio 2008で作成され、後でVisualStudio2010で更新および再コンパイルされた.NET3.5クラスライブラリを使用しています。奇妙なことが起こっています。ソリューションエクスプローラーに一覧表示されているWeb参照の1つが実際にはコンパイルされません。 DLLに(.NET Reflectorを使用してDLLを検査することで証明されます)、それぞれエラーや警告はありません。グーグルでこのサイトを検索してみましたが、該当する情報が見つかりませんでした。これが発生している理由についてのアドバイスは大歓迎です!うまくいけば、提供された情報で十分です。そうでなければ、私はもっと提供できるはずです。

編集: Web参照の名前空間はソリューションエクスプローラーに表示されますが、オブジェクトブラウザーには表示されません。私の同僚の何人かは、これはWebサービス自体の問題であると言っています。これはSAPWebサービスであり、開発中に、最近アップグレードされたテスト環境とやり取りしているため、問題が発生する可能性があります。確信が持てたら、これが原因かどうかを確認しますので、その間、遠慮なく関連情報を共有してください。

編集(2):生成されるクライアント側のエラーを含む詳細については、 Cyborgx37の回答に対する私の最初の応答を参照してください。

4

2 に答える 2

1

これは少し厄介です。Web参照をオブジェクトブラウザに(したがってコンパイル時に実際のDLLに)取得するために行ったのは、名前を別の名前に変更してから、古い名前に戻すことだけでした(保持するのはオプションでした)。名前は同じです)。お奨めは奇妙なマイクロソフトの問題が大好きです。うまくいけば、これは同じ問題に遭遇することになった他の誰かを助けるでしょう!

于 2012-12-26T20:52:12.097 に答える
0

私が正しく理解していれば、参照されているアセンブリがDLLにコンパイルされないのはなぜか疑問に思われるでしょう。

参照されるアセンブリは通常、DLLにコンパイルされません。代わりに、DLLには外部リソースへのポインタが含まれ、.NETはそれを見つけるためのいくつかの戦略の1つを試みます(そして、アプリケーションがそれを使用できるようにメモリにロードします)。

あなたはこの記事が啓発的であると思うかもしれません:

ランタイムがアセンブリを見つける方法.NETFramework
アプリケーションを正常にデプロイするには、共通言語ランタイムがアプリケーションを構成するアセンブリを見つけてバインドする方法を理解する必要があります。..。

于 2012-12-26T17:29:26.450 に答える