ClickOnce が Localhost のインストール フォルダーに従っていない
-
16-09-2019 - |
質問
ClickOnce アプリケーションの展開をテストしています。自分のマシン (IIS を実行している) に仮想ディレクトリをセットアップしました。指定しました http://localhost/SampleApplication Visual Studio の [発行] タブのインストール フォルダー URL として指定します。ただし、アプリケーションを公開すると、次のエラーが発生します。
警告:ファイルはダウンロードできませんでした http://chrish/サンプルアプリケーション/.
リモート サーバーがエラーを返しました:(407) プロキシ認証が必要です。成功を公開します。
警告:公開されたアプリケーションを表示できません http://chrish/SampleApplication/publish.htm. http://chrish/SampleApplication/publish.htm
URL が Localhost からログイン名にどのように変更されたかに注目してください。なぜ?これは1週間前には起こっていませんでした。
解決
ClickOnce のインストールでは、サーバー名が予想される名前と一致するかどうかを確認します。したがって、localhost は常に内部でコンピュータ名 [質問で示唆されているユーザー名ではありません] に変換されます (ClickOnce が行う多くの混乱を招くことの 1 つです。これによる副作用の 1 つは、3 つのダウンロード サーバーをセットアップする場合、 3 つの別々のパブリッシュを行う必要がある、および/または このようにパブリッシュをスクリプト化します) または このような. 。したがって、これは驚くことではありません。常に水面下で行われているのです。
407 エラーはプロキシ認証に関連しています。これは、ダウンロードが Microsoft ISA Server などのプロキシ経由で転送されていることを意味します。IE のインターネット オプションの接続プロキシ設定を確認し、ローカル アドレス (たとえば、 chrish
].
成功を報告する理由は、アップロードが検証とは別のメカニズムを使用している可能性が高く、プロキシ経由でルーティングされたり、プロキシによってブロックされたりしていないためです。(根本的な問題は、.NET Framework がデフォルトではプロキシ資格情報を渡さないため、プロキシ資格情報を渡す必要があることです。 devenv の構成エントリを適用するか、 または、パブリッシュするか、プロキシ資格情報を送信する追加のコードを含むテスト ステップをビルド プロセスに呼び出すか](http://blogs.msdn.com/jpsanders/archive/2009/03/24/httpwebrequest-webExcepton-the-remote-server-returned-an-error-407-proxy-authentication-required.aspx)。こちらも参照 デフォルトの資格情報を使用するようにデフォルトのプロキシを設定するにはどうすればよいですか?)
他のヒント
ClickOnceのは、 "localhost" が好きではありませんが、あなたはそれを回避することができます。
あなたが発行フォルダの場所を設定した場合:
C:\のinetpub \ wwwrootの\ SampleApplication \
とのインストールフォルダのURLます:
ます。http:// chrish / SampleApplication / の
(「chrish」は、コンピュータのネットワーク名です)、あなたはローカルで公開することができます。