App_Data の XML ファイルをイントラネット アプリケーションのメイン ページの Repeater と組み合わせて使用すると、ユーザーがログオンしたときに、アプリケーションの状態やメンテナンスなどに関するメッセージを表示できます。機能をテストするには、ファイルは開発中の App_Data フォルダーにありますが、これを行うと、アプリケーションを公開するときに運用サーバー上のファイルにコピーされます。とにかく、Web 配置プロジェクトに行く前にこれが起こらないようにすることはできますか (それで問題は解決しますか)?
3 に答える
Visual Studio 2005 では、"Include files from the App_Data folder" というラベルの付いたチェックボックスが表示されますが、これはデフォルトでオンになっています。そのチェックボックスをオフにして公開しようとしましたか?
編集:あなたのプロジェクトでそのチェックボックスが利用できないことを見て、Visual Studio用のVS2005 Web Deploymentアドオンの使用を検討します。私自身は使用していませんが、デバッグ モードとリリース モードの間で公開をカスタマイズする機能は有望に見えます。
もう 1 つの方法は、「デバッグ」ファイルと「本番」ファイルを用意することです。
Stream xml;
#if DEBUG
xml = File.Open("debug.xml");
#else
xml = File.Open("release.xml");
#endif
DEBUG モードでコンパイルするとデバッグ ファイルが使用され、リリース モードでコンパイルするとリリース ファイルが使用されます。
この問題を回避するために、ローカルの「ステージング」場所、基本的にはデスクトップ上のフォルダーにもデプロイします。ファイルがコンパイルされ、Visual Studio によってそこに展開されたら、興味のないファイル (この場合は App_Data) を削除し、XCopy または Windows エクスプローラーを使用してファイルを Web サーバーにコピーします。
それに似たものを除いて、展開時にVisual Studio自体がこれらのファイル/フォルダーを省略できるようにする方法がわかりません。