1

実行中のデータベースを含むアプリケーションがあります。必要なすべての dll、exe、および db ファイルを追加しました。これらはコンパイルされないコンテンツです。そのため、ビルドアクションを「コンテンツ」として設定し、出力ディレクトリへのコピーを「新しい場合はコピー」として設定しました。これにより、アプリケーションの新しいバージョンを公開するたびに、1 つのファイルのみをわずかに変更しますが、それでもすべてのファイルが再ダウンロードされます。ここを見回したところ、すべてのファイルに関連付けられたハッシュがあるようです。しかし、アプリケーションの新しいバージョンを公開し、変更されたファイルのみをエンド ユーザーにダウンロードさせる方法についての回答は得られないようです。

4

2 に答える 2

1

ご指摘のとおり、ファイルはハッシュ化されています。更新プログラムをインストールするとき、ClickOnce はサーバー上のファイルをローカル バージョンと照合し、それらが同じ場合は再度ダウンロードせず、ローカル ディレクトリからコピーします。

これは実際にはアセンブリでのみ機能すると思います。ClickOnce キャッシュを見ると、配置内の各アセンブリが独自のフォルダーにコピーされていることがわかります。これは、ClickOnce が使用するミニ キャッシュのようなもので、比較を行うときにチェック対象となります。

他のリソースでも発生する可能性がありますが、私はそれに賭けません。eoghank が指摘したように、フィドラーを使用してそれを確認できます。

于 2012-05-31T05:14:12.863 に答える
0

変更されていないファイルが再度ダウンロードされていますか? フィドラーを使用して確認してください。ClickOnce ダウンロード ダイアログは常に、すべてのファイルが再ダウンロードされていることをダウンロード サイズによって示しますが、これは常にそうであるとは限りません。

于 2012-05-25T08:21:49.310 に答える