web-dev-qa-db-ja.com

Visual Studio Development Serverがcssとjavascriptを更新していませんか?

私は最近、後回しにされていたWebサイトプロジェクトに戻りました。作業を再開してから、Visual Studio Development Serverで実行しているときに、cssとjavascriptの変更がアプリケーションによって認識されないことに気付きました。これは以前は正常に機能していました。スタイルシートとJavaScriptを変更して、アプリを実行してテストすることができます。現在、アプリケーションをテストできる唯一の方法は、ローカルのIISサーバーに公開することです(ただし、PCを再起動すると問題も解決すると思います)。

Visual Studio 2008(9.0.30729.1)の使用

正しく機能していると確信してから変更されたのは、Vista x64 Home PremiumEditionからWin7 x64 Ultimateへのオペレーティングシステムであり、プロジェクトソースをc:からd:に移動しました。私はCに戻りましたが、同じ否定的な結果が出ました。また、Webサイトがデバッグで起動したときにデバッグされるコンソールアプリ(2つのサービスホスト)によってホストされる個別のWCFサービスの一部の機能を移動しました。

開発サーバーを停止しても何も起こりません。すべてのファイルをチェックアウト(VSS 2005を使用)して、読み取り専用がないことを確認しても、何も実行されません。動作するのは、IISに公開するか、マシンを再起動することだけです。どちらも望ましくありません。デバッグを停止するたびに終了する必要があるプロセスがある場合でも、使用しないようにするために満足します。物事の以前のコピー。

解決策はありますか?

22
Rob Gray

サーバーがブラウザにヘッダーを送信している可能性があります。これにより、サーバーはキャッシュされたコピーを使用し続けます。これをテストする簡単な方法は、 yourbrowsercache です。

それで問題が解決した場合は、サーバーから取得した HTTPヘッダー を調べる必要があります。選択したブラウザの developertools (a.k.a。 F12 tools )は、サーバーから返されたヘッダーを公開します。次に、これらのキャッシュ設定を引き続き使用するか( 速度に適している )、変更するか( 開発に適している )を決定します。

そして、これらのヘッダーをどのように調整しますか?サーバーによって異なります。一般的なサーバーの手順へのリンクは次のとおりです。

31
Warren Young

簡単な方法は、スクリプトまたはcssファイルのsrc属性の後にランダムなパラメーターを追加することです。例えば

<script type="javascript" src="@Url.Content("~/scripts/myScripts.js?" + DateTime.Now.ToString("ddMMHHmmss")"></script>

そのため、ブラウザは常に新しいファイルを想定し、キャッシュしません。

ライブサーバーにデプロイするときは、必ずこれを削除してください。

8
adeel41

使用してみてください

<link href"~/Content/Style.css" rel="stylesheet"/>

バンドルと一緒に。これは私のために働いた

0
Wairimu Murigi