1

私はいくつかのクラスライブラリと実行可能なプロジェクト(Windowsサービス)を含むVS2008ソリューションを持っています。私のクラスライブラリの1つはサードパーティのコンポーネントのラッパーです。大量の設定が可能ですので、3rdPartyConfig.xmlというカスタムXMLドキュメントと、3rdPartConfig.csという強く型付けされた解析クラスを作成しました。リリース時にクラスライブラリのカスタム設定ファイルを実行可能プロジェクトに自動的に含めるにはどうすればよいですか?

私の実行可能プロジェクトはそのクラスライブラリを参照しているので、アプリケーションの実行時に実行中のXMLファイルが検索されます。これを行うために、3rdPartyConfig.xmlに次のプロパティを設定しました:

  • セットBuild Action = Content
  • 私はデバッグ構成で実行すると、私は3rdPartyConfig.xmlは、ビルド出力フォルダにコピーされている見ることができますCopy to output Directory = Copy always

を設定します。アプリは正常に動作し、ファイルを読み取ることができます。しかし、リリースとして公開すると、Visual Studio にはXMLファイルがコピーされないため、アプリケーションが実行されても見つからない場合があります。

カスタムビルドファイルがリリースビルドの出力に含まれていることを確認するにはどうすればよいですか?ビルド前またはビルド後のスクリプトを記述する必要はありますか?

警告:

  • 私は回避策は、XMLファイルをスクラップとはapp.configに設定を追加するであろうことを知っています。私はではなく、という方法で(クライアントは設定ファイルを簡単に置き換えることができるようにしたい)という質問をしました。
  • もう1つの回避策は、構成情報をデータベースに格納することです。クライアントはそれをやっていない方がいいでしょう。
  • 私は、「実行場所」がWindowsサービスを扱うときに不明瞭になるという事実を調整しました。安心して私のコードc:\windows\system32のインストールされた場所でチェックします。

ありがとう!

答えて

0

実行可能プロジェクトへのリンクとして設定ファイルを追加するだけでなく、新しい場合はリリースディレクトリにコピーするように設定できますか?

+0

仕事ができることができますが、これが達成されるだろうか単なる詳細に説明することができますか? – Aaronster

3

ちょうどあなたのファイルのために、溶液中の「コピー出力ディレクトリへ」プロパティを編集します。 enter image description here

+0

返事をありがとう。私はそれもやってみたことを忘れていました。 – Aaronster

+0

'Build Action'を' Content'に設定するのは、スクリーンショットにあるように、この問題を解決したものです。また、 'Copy to Output Directory'を' Copy always'に設定しました。 – waka

関連する問題