Visual Studio2012から開発および公開しているMVC3Webアプリケーションプロジェクトがあります。これは最近、移行されたVS2010プロジェクトでした。
私のweb.configは<location inheritInChildApplications="false">
タグを使用して設定されているため、仮想ディレクトリで実行されている子アプリケーションが設定を引き継ぐことはありません。
WebDeploy公開プロファイルを設定しました。これはVS2010で問題なく機能しましたが、VS2012から公開するとアプリケーションが壊れます。ノード内にすでにノードがある場合でも、<connectionStrings>
前述の</location>
タグを閉じた後にノードが追加されます。これにより、無効な構成ファイルが原因でアプリが破損します。<connectionStrings>
<location>
プロファイルを最初から再作成しようとしましたが、問題は解決しませんでした。
http://msdn.microsoft.com/en-us/library/dd465337.aspxで読んだ内容に基づいて、["]チェックボックスをオフにすると、公開プロセスに接続文字列を追加しないUse this connection string at runtime
ように指示されますが、とにかく追加されます。
<location inheritInChildApplications="false">
を使用していなければ、接続文字列が適切な場所に追加されるため、これは問題にならないだろうと考えています。
また、WebDeployを使用せずにファイルシステムに公開すると、公開されたWeb.Configが正しく作成され、追加の接続文字列ノードが追加されないことに注意してください。
この問題の既知の回避策はありますか?