プロジェクトからプロジェクトにコピーされるボイラープレート コードの量を減らすために作成した dll ライブラリがあります。RPC を介して機械への接続を維持するために、dll で実行されているタイマーがあります。プロジェクトをデバッグして RPC 接続を切断すると、コードが dll ライブラリから切断イベントを適切にトスし、メイン フォームがイベントをキャッチして適切に処理します。
次に、リリース用にビルドします。RPC 接続を切断すると、未処理の例外がライブラリからスローされますが、これは明らかに他の場所ではキャッチされません。
奇妙な部分は、例外をスローしているコードがタイマーにあり、呼び出しがすべて try/catch ブロックにラップされ、catch ブロックが例外を飲み込み、他のクリーンアップ作業を行うことです。
デバッグモードではすべてがうまくいく方法がわかりませんが、リリースではそうではありません。その部分は私には意味がありません。例外オブジェクトを調べて、処理されたプロパティを設定しようとしましたが、利用できません。これは正常な動作ですか?
私は最近、自分のプロジェクトで多数のライブラリを利用して、ソリューションをより整理し、簡単に理解できるようにし始めました。うまくいけば、これは私が考慮していなかったライブラリの問題ではありません。