TransactionScopeインスタンスを作成するVB.NETコードがいくつかあります。
LoggingUtility.LogDebug("UpdateCallTable", "SatComCallDataImporter", "About to associate call data with contracts")
Using ts = New TransactionScope()
LoggingUtility.LogDebug("UpdateCallTable", "SatComCallDataImporter", "Getting all unimported SatCom calls")
私のアプリケーションは、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」という新しいTransactionScopeの作成の呼び出しで例外をスローしています。例外は、開発マシンまたはテストマシンではスローされません。顧客の生産機械だけで、理由はわかりません。この行の直前と直後にデバッグ行を配置したので、この行が問題の原因であると確信しています。
アプリケーション全体でTransactionScopesを使用しており、これがクライアントマシンで例外をスローする唯一の場所です。
「コールデータをコントラクトに関連付けようとしています」がログに書き込まれ、次のログエントリは「オブジェクトのインスタンスに設定されていないオブジェクト参照」です。
コードをトランザクションから移動すると、コードは正常に機能します。
私はこれに4日間苦労していて、近づいていません。