10

私は定期的に (数日おきに) ASP.NET Web プロジェクトをローカル Web サーバーに公開しています。

しかし、最も奇妙なことが起こり続けています... "app_offline.htm" というファイルが、入札されずに私の Web プロジェクトに表示され続けています。

このファイルを何度か削除しましたが、ソース管理にはありません。知る限り、プロジェクトを改ざんしている人は誰もいません。しかし、ほとんどの場合、プロジェクトを公開しようとすると、公開に失敗します ( Unable to add 'app_offline.htm' to the Web site. The file 'app_offline.htm' already exists in this Web site.Error: The operation could not be completed. Unspecified error)。戻ってプロジェクトを確認すると、そこには再び、実物大のプロジェクトがあり、ラズベリーを吹き飛ばしてしまうのではないかと思います。:p

このファイルについて少し調べてみたところ、アプリをオフラインにするための簡単な方法であることがわかりました。しかし、それが正当な理由もなく恣意的にあなたに課すことになっている場所はどこにも見当たりませんでした.

で、これはどこだ *&^%$#@%!! ファイルから来て、なぜVSは私がそれが必要だと思うのですか?

4

3 に答える 3

7

これは .NET 2.0 の「機能」です。

http://weblogs.asp.net/scottgu/archive/2005/10/06/426755.aspx

http://www.codeproject.com/KB/aspnet/app_offline.aspx

「これを回避する最も簡単な方法は、サーバーに直接公開しないことです。とにかくすべきではありません...ローカルフォルダーに公開してから、サイトをコピーしてください」

Visual Studio を使用していますか? http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=102778

于 2010-01-27T16:01:25.640 に答える
5

デフォルトでは、発行プロセスによって宛先ディレクトリに配置されますが、発行プロセスが完了すると削除されます。おそらく、削除しようとしても削除できませんか?

以下は、MSDN の記事からの抜粋です

アプリケーション ファイルをコピーする前に、Web サイトのコピー ツールは、App_offline.htm という名前のファイルをターゲット Web サイトのルート ディレクトリに配置します。App_offline.htm ファイルが存在する間、Web サイトへの要求はすべてこのファイルにリダイレクトされます。このファイルは、Web サイトが更新中であることをクライアントに知らせるわかりやすいメッセージを表示します。すべての Web サイト ファイルがコピーされると、Copy Web Site ツールはターゲット Web サイトから App_offline.htm ファイルを削除します。

何らかの理由で、互いに競合する 2 つの公開イベントがあると思いますか?

これを回避する方法は、nant を使用してソリューションを構築し、必要なものだけをコピーすることです。実際、この機能を利用して最初に app_offline ファイルをコピーしますが、その後、いつコピーして削除するかを管理します。

于 2010-01-27T15:35:00.933 に答える