1

A と B の 2 つのプロジェクトを含むソリューション S があります。B には、組み込みリソースとして A の exe が必要です。

そこで、B > Add > Add existing item... > を右クリックし[...]\S\A\bin\debug\A.exe、この新しいアイテムを Build Action = Embedded Resource に設定します。

すべてがうまく機能します。しかし、そのようなアイテムの Full Path プロパティを見ると、 path が表示されます[...]\S\B\A.exe。つまり、プロジェクト A を再構築しても、プロジェクト B の埋め込みリソースには影響しません。

プロジェクト A によって作成された元の exe リソースを使用して、プロジェクト B の埋め込みリソースを最新の状態に保つにはどうすればよいですか?

4

1 に答える 1

1

はい、これは仕様です。IDE は通常、リソースをプロジェクト ディレクトリにコピーします。これは、将来、リソースが見つからず、バックアップを作成するのを忘れたためにプログラムをビルドできなくなるという最悪の事態を回避するための強力な対策です。

これはあなたがここで望むものではありません。アイテムを削除し、追加 + 既存のアイテムを再度使用します。[追加] ボタンに下矢印グリフがあることに注意してください。その矢印をクリックして、[リンクとして追加] を選択します。そのコピーは作成されず、プロジェクトは実際のファイルを参照します。

B をビルドする前に、A.exe が利用可能で最新の状態であることを確認する必要があります。ソリューション エクスプローラー ウィンドウで B プロジェクトを右クリックし、[依存関係をビルド] をクリックして、A プロジェクトにチェックマークを付けます。A は常に B の前にビルドされるようになりました。

于 2013-10-29T12:10:05.597 に答える