2009-04-24 114 views
4

我正在測試ClickOnce應用程序部署。我在我的機器上安裝了一個虛擬目錄(運行IIS)。我在Visual Studio的「發佈」選項卡中指定了http://localhost/SampleApplication作爲安裝文件夾URL。但是,當我發佈應用程序時,出現以下錯誤:ClickOnce不服從本地主機的安裝文件夾

Warning: Files could not be downloaded from http://chrish/SampleApplication/ .

The remote server returned an error: (407) Proxy Authentication Required. Publish success.

Warning: Unable to view published application at http://chrish/SampleApplication/publish.htm . http://chrish/SampleApplication/publish.htm

請注意它是如何將我的URL從本地主機更改爲我的登錄名的。爲什麼?這一週前沒有發生。

回答

5

ClickOnce安裝涉及驗證服務器名稱是否與預期名稱匹配。因此,本地主機總是被翻譯成計算機名稱[不像你在你的問題中提出的用戶名](ClickOnce所做的許多令人困惑的事情之一 - 其中一個副作用是如果你想設置3個下載服務器,你需要做3個單獨的出版物和/或script the publish like this)或like this。所以這不是一個驚喜 - 它總是在掩護下進行。

407錯誤與代理授權有關。這意味着下載正在通過代理(如Microsoft ISA Server)轉移。在你的IE瀏覽器Internet選項連接代理設置一下,並確保其繞過本地地址[如chrish

它的報告成功的原因是,上傳可能使用的另一種機制比驗證不和不被通過/阻止代理路由。 (根本的問題是,.NET框架默認通代理憑據不和你需要either apply a config entry for devenv或任何不發佈或者構建過程調用一個測試步驟與額外的代碼,它發送的代理證書(http://blogs.msdn.com/jpsanders/archive/2009/03/24/httpwebrequest-webexcepton-the-remote-server-returned-an-error-407-proxy-authentication-required.aspx )。也How should I set the default proxy to use default credentials?見)

0

的ClickOnce不喜歡 「localhost」 的,但你可以解決這一點。

如果您設置發佈文件夾的位置:

C:\的Inetpub \ wwwroot的\ SampleApplication \

和安裝文件夾網址:

http://chrish/SampleApplication/

(其中「chrish 「是您的計算機的網絡名稱),那麼你可以在本地發佈。