2

私は3つのプロジェクトを持つソリューションを持っています。1 つはコンソール アプリで、残りの 2 つは Windows アプリケーションです。どちらの Windows アプリケーションもコンソール アプリケーションを使用するため、両方の Windows アプリ プロジェクトにコンソール アプリケーションの参照を追加しました。Windows プロジェクトをビルドすると、コンソール アプリケーションが出力ディレクトリにコピーされますが、問題はその構成ファイル「consoleapp.exe.config」がコピーされないことです。

コンソール アプリケーションの代わりにライブラリ (アセンブリ) を使用すると、そのアセンブリの構成ファイルが出力フォルダーに作成されます。

この問題を解決するには?

4

3 に答える 3

0

VS2008でコンソールプロジェクトをすばやく作成し、「App.config」を追加すると、次の設定が行われます。

ビルドアクション:なし
出力ディレクトリにコピー:コピーしない
カスタムツール:<空白>
カスタムツール名前空間:<空白>

ただし、コンソールプロジェクトはクラスライブラリではなくアプリケーションであるため、コンソールプロジェクトへの参照を追加するとどのような効果があるかわかりません。

コンソールアプリケーションをデバッグのためにWindowsアプリケーションで起動する場合は、プロジェクト参照よりも優れたアプローチは、複数のアプリケーションを起動するようにソリューションを設定することです。ソリューションを右クリックしてプロパティを選択し、[プロジェクトの開始]ノードで複数のプロジェクトを選択します。(そして、コンソールアプリケーションへの参照を削除します。)

于 2009-06-20T09:27:03.823 に答える
0

アプリケーションは、参照プロジェクトのコンパイル済みコードからの設定のデフォルト値を使用しています。

app.config を他のプロジェクトから呼び出し元のプロジェクトにコピーする (または、変更できるようにする設定を少なくともコピーする) 必要があります。その後、アプリケーションがコンパイルされると、[YourAppName].exe.config が作成されます。変更できます。

これはすべて、C# のアプリ ドメインがアセンブリ レベルの app.config ファイルを 1 つしか持てないために発生します。詳細については、MSDNを参照してください。

于 2009-12-18T22:05:03.870 に答える