Visual Studio 2010デザイナーバグ:obj debugからbin debugにコピーできません
-
29-09-2019 - |
質問
誰かがこの2010年のバグの解決策を持っているかどうか疑問に思っています。 Visual Studio 2008では、Visual Studioがデザイナーウィンドウが開いている場合にのみ実行された後にDLLを保持しているため、2010年には構築されないプロジェクトを構築しました。この問題を示す本当に軽量プロジェクトを作成しました。アプリケーションを作成する場合は、lib dllを作成します。 DLLに1つのフォームを置き、デザインビューでフォームを開き、アプリケーションを実行します。正常に実行され、アプリを閉じて、デザインビューのフォームのコードビューに移動し、コードを変更します(単一の変数と名前を変更しました)。
エラー1「obj debug customlib.dll」を「build debug customlib.dll」にコピーできません。このプロセスは、別のプロセスで使用されているため、ファイル「build debug customlib.dll」にアクセスできません。
プロセスエクスプローラーを実行してDLLを検索すると、DLLを保持する唯一のプロセスはdevenv.exeです!!!
私はこの問題についてたくさんの検索をしており、人々がただできる古いバージョンのDev Studioで同様の問題を発見しました プリステップを追加します ロックされたDLLを別の名前(.Locked)に移動してビルドします。まあ、それは最初に動作しますが、次に実行してから編集したときに、現在のdllと移動したdllの両方からロックアウトされます。 、これは私にとってはうまくいきません(ファイルが削除されることなく、デバッグディレクトリサイズが成長したくありません。)
私は回避策を1つしか見つけていません。あなたがこの同じボートにいる場合、これは私が編集して実行するためにしなければならないことです。デバッガーでプロジェクトを実行する前に、すべてのデザインビューウィンドウが閉じられていることを確認します。すべてのオープンデザインビューWindows Devenv.exeがDLLを保持しない場合、すべてのオープンデザインビューを閉じた場合。
誰かがこの問題のより良い解決策を持っていますか?
解決
これがあなたのために機能するかどうかはわかりませんが、 この同様の質問 AssemblyInfo.csにこの行がある場合:
[assembly: AssemblyVersion("2.0.*")]
に変更:
[assembly: AssemblyVersion("2.0.0.0")]
このisueを解決します。
ビジュアルスタジオアドオン」vscommands「この問題の修正があると主張しています。私はまだテストしていませんが、私を興味をそそるinde-in-ride stackoverflowの評判トラッカーがいると主張しています:)
あなたの「デバッグする前の」回避策は私のために働いているようです (これまでのところ)、私はとても感謝しています。私の一日の大部分が次のワークフローで費やされた段階に到達し始めていました...
F5
大声でlet然と
alt F4
勝つ 3
焦ります...
- F5
他のヒント
私は長い間同じ問題を抱えていましたが、突然姿を消しました。問題の原因は、WCFサービスとWPFコントロールのコンストラクターのコードを初期化していることに気付きました。他のアセンブリへの依存関係からコンストラクターをクリーニングした後、すべてが問題ありません。
だから私の提案は、あなたのコンストラクターをきれいにすることです。
WPFでは、挿入する可能性があります。
if (DesignerProperties.GetIsInDesignMode(this)) return;
または同様の効果があります。