私は次のようにサブディレクトリに設定ファイルを探すために私のconfigSourceは、configという定義している:Web.configがbinの代わりにプロジェクトフォルダ内のconfigSourceを探しているのはなぜですか?
<connectionStrings configSource="config\ConnectionStrings.config" />
私がリンクされたファイルとして定義されて設定ファイルを持っているので、ビルドが発生したときにそれはにコピーされます私のbin \ configフォルダは問題ありません。
しかし、私のWebアプリケーションプロジェクトは開発プロジェクトのconfigフォルダの代わりに、展開ビンの\ configフォルダを見ています。私はこれをProcess Monitorで確認しました。
だから私はいくつかの質問している:なぜそれが代わりのbin \の設定であっ
- を探しています - 私はどこかに設定する相対パスを見逃したのか?
- リンクされたファイルは、そこにコピーされるのではなく、ビンのみにコピーされます。私の理解は、これが適切な行動であるということです。それは正しい仮定ですか、それとも両方の場所にコピーする必要がありますか?もしそうなら、それを可能にするための設定は何ですか?
- リンクされたファイルにサブフォルダを使用することをお勧めしますか、それをプロジェクトルートに残す必要がありますか?
ありがとうございました!
UPDATE:設定ファイルがコピーされることを保証するためにhttp://consultingblogs.emc.com/jamesdawson/archive/2008/06/03/using-linked-files-with-web-application-projects.aspx、と私は質問#2に答えている少しの実験を行っている:私はここで説明する方法を使用してい。いいえ、Visual Studioでは既定の動作ではありませんが、この方法ではファイルが両方の場所に確実にコピーされます。
まあ、私は "different web project"というフレーズを使用しているとは思わないが、リンクされたファイルConnectionStrings.configを使用する複数のターゲットプロジェクト(3つのWebプロジェクトと1つのコンソールアプリケーション)がある。 質問は設定ファイルの数ではありません。私が気に入らないのは、Webプロジェクトが私の開発パスと設定ファイルの展開パスを見ているということです。コンソールアプリはそうしていません。 私の期待は、web.configは、コンソールアプリケーションのapp.configと同じように、コンパイルされた配備パス内のリンクされたファイルを探します。明快さの欠如のため申し訳ありません! – Shane
こんにちは、もう一度、あなたの質問を正しく理解していれば、唯一の問題はweb.configがリンクされたファイルを予想された場所から読み取っていないことです。私が掘り下げたものから、web.configがそれを読むためには、正確なファイルの場所を指定する必要があるようです。ここに私の[リンク](情報源:http://stackoverflow.com/questions/2411184/can-a-web-config-read-from-an-external-xml-file) –
こんにちは、私もあなたの質問を正しく理解しましたが、唯一の問題は、web.configがリンク先のファイルを予想された場所から読み取っていないことです。私が掘り下げたものから、正確なファイルの場所を指定する必要があるようです。それを読むために設定してください。ここで私の[情報源] [1] [1]:http://stackoverflow.com/questions/2411184/can-a-web-config-read-from-an-external-xml-file私のプロジェクトで私は実際にはこの方法を使用してください –