私はNServiceBusを初めて使用するので、初心者の間違いをお詫びします。問題は、x64 でビルドして実行する必要があるプロジェクトがあることです。プロジェクトをビルドすると、次の警告が表示されます。
アセンブリの生成 -- 参照されたアセンブリ 'NServiceBus.dll' は別のプロセッサをターゲットにしています
NServiceBusがx86で実行されている理由とこれを修正する方法についてかなり検索しましたが、NServiceBusは任意のCPUを使用するように構築されているため、x64に切り替えても問題ありません。しかし、実行しようとすると、次のエラーが発生します。
System.BadImageFormatException was unhandled
Message=Could not load file or assembly 'TestProject, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. An attempt was made to load a program with an incorrect format.
Source=mscorlib
FileName=TestProject, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
FusionLog=""
StackTrace:
at System.RuntimeTypeHandle._GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, Boolean loadTypeFromPartialName)
at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark)
at System.RuntimeType.PrivateGetType(String typeName, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark)
at System.Type.GetType(String typeName, Boolean throwOnError)
at NServiceBus.Host.Program.GetEndpointConfigurationType()
at NServiceBus.Host.Program.Main(String[] args)
InnerException:
このエラーは x86 を使用する必要があることを意味しますが、このプロジェクトは x64 用にビルドされた別のプロジェクトに依存しており、そのプロジェクトを制御できないため、単純に x86 に移行することはできません。これが問題かどうかはわかりませんが、プロジェクトは .Net Framework 3.5 で実行されています。
助けてくれてありがとう。