今後のリリースに向けて、NServiceBus 3.0.3 から 3.2.7 にアップグレードしました。ローカル テストまたは QA テストでは問題は発生していませんが、ステージング環境でのテストでは、NServiceBus を参照する IIS がホストする Web サービスを開始できません。
ステージング マシンは、QA と同じソフトウェアを使用します。Windows 2008R2、IIS7.5
イベントログには 2 つのエラーがあります。最初はイベント 1026 (.NET ランタイム) です。
アプリケーション: w3wp.exe フレームワーク バージョン: v4.0.30319 説明: 未処理の例外が発生したため、プロセスが終了しました。例外情報: NServiceBus.Unicast.Queuing.FailedToSendMessageException スタック: NServiceBus.Unicast.Queuing.Msmq.MsmqMessageSender.NServiceBus.Unicast.Queuing.ISendMessages.Send (NServiceBus.Unicast.Transport.TransportMessage, NServiceBus.Address) で NServiceBus.Unicast. UnicastBus.SendSubscribeMessageWithRetries(NServiceBus.Address, NServiceBus.Unicast.Transport.TransportMessage, System.String, Int32) at NServiceBus.Unicast.UnicastBus+<> c_DisplayClass8.bSystem.Threading.ExecutionContext.runTryCode(System.Object) の System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode、CleanupCode、System.Object) の System.Threading.ExecutionContext.Run(System.Threading) の _7(System.Object) .ExecutionContext、System.Threading.ContextCallback、System.Object、Boolean) System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() で System.Threading.ThreadPoolWorkQueue.Dispatch() で System.Threading._ThreadPoolWaitCallback.PerformWaitCallback() )
続いてイベント 1326 (ASP.NET 4.0.30319.0)
未処理の例外が発生し、プロセスが終了しました。
アプリケーション ID: DefaultDomain
プロセス ID: 10180
例外: System.Runtime.Serialization.SerializationException
メッセージ: アセンブリ 'NServiceBus.Core、Version=3.2.0.0、Culture=neutral、PublicKeyToken=9fc386479f8a226c' が見つかりません。
スタックトレース: System.Runtime.Serialization.Formatters.Binary.BinaryAssemblyInfo.GetAssembly() で System.Runtime.Serialization.Formatters.Binary.ObjectReader.GetType (BinaryAssemblyInfo assemblyInfo, String name) で System.Runtime.Serialization.Formatters.Binary で。 System.Runtime.Serialization.Formatters.Binary の ObjectMap..ctor (String objectName、String[] memberNames、BinaryTypeEnum[] binaryTypeEnumA、Object[] typeInformationA、Int32[] memberAssemIds、ObjectReader objectReader、Int32 objectId、BinaryAssemblyInfo assemblyInfo、SizedArray assemIdToAssemblyTable) ._ System.Runtime.Serialization.Formatters.Binary の BinaryParser.ReadObjectWithMapTyped (BinaryObjectWithMapTyped レコード)。_BinaryParser.Run()
System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize (HeaderHandler ハンドラー、__BinaryParser serParser、ブール型 fCheck、ブール型 isCrossAppDomain、IMethodCallMessage methodCallMessage) で System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize (ストリーム serializationStream、HeaderHandler ハンドラー) 、Boolean fCheck、Boolean isCrossAppDomain、IMethodCallMessage methodCallMessage) System.AppDomain.Deserialize(Byte[] blob) at System.AppDomain.UnmarshalObject(Byte[] blob)
bin フォルダーを確認したところ、正しいバージョンの NServiceBus.dll と NServiceBus.Core.dll が含まれています (どちらも同じバージョンの 3.2.7 です)。
私はかなり困惑しています。明らかなことを確認したと思います。NServiceBus のいくつかのバージョンを読み込もうとしている可能性があります (つまり、更新されていない参照ですか?)。しかし、それは QA ですでに問題になっているはずですか?