次のエラーが発生します。
表示名が「MyWinFormsAssembly」のアセンブリを、ID1のAppDomainの「LoadFrom」バインディングコンテキストで読み込めませんでした。失敗の原因は次のとおりです。System.IO.FileNotFoundException:ファイルまたはアセンブリを読み込めませんでした'MyWinFormsAssembly.Services.XmlSerializers 、Version = 1.0.0.0、Culture = neutral、PublicKeyToken =null'またはその依存関係の1つ。システムは、指定されたファイルを見つけることができません。
私はエラーをスキップできることを知っています。以前にXMLシリアル化を行っているときにこのエラーを受け取ったことがあることを知っています。しかし、これはWebサービス呼び出しで発生しています。
そのWebサービス呼び出しは失敗し続け、別のエラーが発生します。
ファイルまたはアセンブリ'MyWinFormsAssembly.Services.XmlSerializers、Version = 1.0.0.0、Culture = neutral、PublicKeyToken=null'またはその依存関係の1つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。
実際には、Webサービスを連続して呼び出すこれらのエラーが2セット発生します。そして、プログラムは失敗し、停止し、クラッシュし、死んでしまいます。
奇妙なことに、新しいプロジェクトを開始すると、同じWebサービス参照コードを使用して同じWebサービスを呼び出すことができます。そして、新しいWinForms、WPF、WebForms、Console、およびMVCプロジェクトで、それぞれ1つずつテストして問題なく動作します。
しかし、コアdllとアセンブリを追加すると、そこに戻ります。最終的にこのエラーが発生します。コードの最初の行でこれを呼び出そうとしましたが、それでもエラーが発生します。他のすべての構成データをコメントアウトし、それを別のアセンブリにオフロードしました。これはメインプロジェクトの外部でも正常に機能し、構成データなしでコードの最初の行で再度実行しようとしましたが、すべてコメントアウトされましたが、それでも失敗します。
私がどこかで得た唯一のハーフリードであり、私はそれを本当に理解しておらず、それをチェックする方法も知らないのですが、名前の競合があるかもしれないということですか?
それ以来、Webサービスを独自のXML名前空間に配置し、名前をWindowsフォームアセンブリとは異なる名前に変更しました(誰かが同じ名前を付けていたため)。
また、Windowsフォームアセンブリの名前をまったく別の名前に変更し、ほとんどのクラスを別の「コア」アセンブリにオフロードしました。Webサービスコード自体、その構成、およびすべてが「サービス」アセンブリ(XmlSerializersが見つからないアセンブリ)にオフロードされていますが、それでも機能しません。
私はこれについてほぼ1週間頭を悩ませてきましたが、現在は製品リリースに遅れをとっています。