最近、VS2010 (10.0.40219.1 SP1Rel) と ILOG Rules For .net 7.1.1.4 (x64) にアップグレードしました。現在、次のことが発生する可能性があります。
- ソリューションを開きます。
- プロジェクトをデバッグする
- デバッグを停止します。
- ファイルを閉じます (これまでのところ: app.Config と Program.cs)
- 「リファクタリング ルール」通知ウィンドウが表示されるのを確認します。
- すべての rulep ファイルの最初のプロジェクト参照が削除されると、恐怖に喘ぎます。
これは、大規模なソリューション (~15 の rulep を持つ ~60 の csproj) で発生します。これは、小規模なソリューション (1 つのルールで 6 つの csproj) で発生します。
参照のドロップを回避するために極端な開発手段を取り始めました (デバッグ時にすべてのルールをアンロードし、デバッグ後に VS2010 を閉じて再度開く)。
プロジェクト参照のドロップを停止するために変更できるプロジェクトまたはソフトウェア設定はありますか?
更新: デバッガーを使用することは、「リファクタリング ルール/参照の削除」の問題を発生させる信頼できる方法ですが、デバッガーを使用せずにファイルを閉じるだけで発生することもあります。
私は最初の報奨金を授与しました。誰かが受け入れることができる答えを思いついた場合は、2 つ目の報奨金を用意します。
回避策: 3 つのソリューション ファイルがあります。
- ビルド サーバー用のすべてを含むソリューション ファイル。
- rulep とその依存関係のみを含むソリューション ファイル。開発者はこれを一度ビルドして、rulep の .dll を取得します。
- rulep プロジェクトを含まないソリューション ファイル。rulep の dll を必要とするプロジェクトには、dll をフォルダーにコピーするビルド前イベントと、その場所へのアセンブリ参照があります。デバッグ ビルドとリリース ビルドの両方を許可するには、少し手を加える必要がありました。
開発者は、VS がマングルする rulep ファイルがない 3 番目のソリューションを安全にデバッグできます。