11

Visual Studio 2008 で Build->Publish Web Site を使用すると、ほとんどの場合、サイトがコンパイルされ、「ターゲット フォルダー内のすべてのファイルが削除されます。続行しますか?」というメッセージが表示されます。(またはその趣旨の何か)。ただし、Visual Studio でプロジェクトを発行するときに、フォルダーの内容を完全に置き換えるか、単に変更されたファイルを新しいバージョンに置き換えるかを選択できるダイアログ ボックスが表示されることがありました。

フォルダーを完全に消去せずに公開することを好みます。これは、展開されたアプリケーションがユーザー ファイルとキャッシュ ファイルを作成するためです。ただし、Visual Studio で常にこのオプションが提供されるとは限らない理由がわかりません。これはどこかで変更できる設定ですか?使用している .NET のバージョンに関連付けられていますか?

どんな洞察も大歓迎です!

編集 - 2009-01-20 のフォローアップ

私はまだこれを理解していませんが、ここにいくつかの情報があります。

私の Win XP デスクトップ上の 1 つの ASP.NET プロジェクトのパブリッシュ機能は次のようになります。

私の Vista ラップトップで別のプロジェクトを実行すると、次のようになります。

2 番目のスクリーンショットのラジオ ボタンに注目してください。このラジオ ボタンを使用して、公開する前にフォルダーの内容を削除するか、単に一致するファイルを上書きするかを選択できます。すべてのプロジェクトにこれらのオプションを用意したいと思います。

どちらのコンピューターも Visual Studio 2008 Professional (バージョン 9.0.30729.1 SP、[ヘルプ] -> [バージョン情報] によると) を実行しています。まったく同じバージョン。そして、OS の違いがこの機能の変更を引き起こしているとは思えません。どこかの設定じゃないですか。誰か知っていますか?

4

6 に答える 6

12

Johnの言うとおりです。唯一の違いは、プロジェクトの 1 つがWeb サイト プロジェクトであり、もう 1 つがWeb アプリケーション プロジェクトであることです。Web アプリケーション プロジェクトでない限り、[ Web アプリケーションに変換] オプションは表示されません。私は知っています...それは非常に誤解を招くものです。この背後にある理由は、Web アプリケーション プロジェクトへの変換方法に起因します。それを変換する予定がある場合 (設定方法によっては、これは非常に面倒なことになる可能性があります)、いくつかの違いに注意する必要があります。

Web アプリケーション プロジェクトでは、すべてがプリコンパイルされます すべての分離コード ページは .dll にコンパイルされます ---- Web サイト プロジェクト では、プロジェクト内の何もプリコンパイルされません。コンパイラは、有効であることを確認するためにすべてをコンパイルしますが、コンパイルされたページはアップロードされません。ユーザーが最初にサイトにアクセスしようとすると、各ページが独自の dll にコンパイルされます。これは、Web サイト プロジェクトでは、1 つの分離コード ファイルをアップロードできることを意味します。

名前空間 - Web アプリケーション プロジェクトでは、名前空間は既定でWeb サイト プロジェクトに作成されますが、作成されません。したがって、それらを変換する予定がある場合は、それらを追加するのに時間がかかる場合があります.

プロジェクト ファイル - Web サイト プロジェクトには、 Web アプリケーション プロジェクトにある "cproj" ファイルがありません。

これらのプロジェクトのいくつかを変換しましたが、「app_code」フォルダーに多くのコードがない限り、かなりスムーズに進むことがわかりました。試してみて、それがどれほど簡単かを確認してください。面倒だと思われる場合は、FileZillaを FTP で転送することをお勧めします。

幸運を

于 2009-01-30T23:21:18.333 に答える
1

このオプションが適切かどうかはわかりませんが、ソリューション エクスプローラーから Web サイトのコピー機能を使用できます。ソリューション エクスプローラーの上部にある [Web サイトのコピー] アイコンをクリックします。

于 2010-10-12T22:05:54.397 に答える
0

どうやらこの機能は VS2010 で導入されるようです。これは、Vishal Joshi が TechEd EMEA のセッション「PDC307: Microsoft Visual Studio 10: Web Development Futures」で発表したものです。

于 2008-12-11T11:54:15.673 に答える
0

あなたの質問に対する本当の答えは、ユーザー ファイルとキャッシュ ファイルを別の場所に置くべきだということだと思います。

Web サイトを発行するとき、Visual Studio は、ターゲット フォルダーに Web サイト ファイルが含まれていることを確認するように設計されています。

于 2008-12-10T22:19:05.087 に答える
-2

更新されたレイヤーのサイトからサイトが更新されました。

于 2010-06-10T10:13:46.393 に答える