ClickOnce Not Obeying Localhost的安装文件夹

时间:2009-04-24 19:07:28

标签: proxy clickonce localhost publish proxy-authentication

我正在测试ClickOnce应用程序部署。我在我的机器上设置了一个虚拟目录(运行IIS)。我在Visual Studio的“发布”选项卡中指定了http://localhost/SampleApplication作为安装文件夹URL。但是,当我发布应用程序时,我收到以下错误:

  

警告:无法下载文件   来自http://chrish/SampleApplication/

     

远程服务器返回错误:   (407)需要代理验证。   发布成功。

     

警告:无法   查看已发布的申请表   http://chrish/SampleApplication/publish.htm。   http://chrish/SampleApplication/publish.htm

注意它是如何将我的URL从Localhost更改为我的登录名。为什么?一周前没有发生这种情况。

2 个答案:

答案 0 :(得分:5)

ClickOnce安装涉及验证服务器名称是否与预期名称匹配。因此,localhost总是被翻译成计算机名称[不是您在问题中建议的用户名](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?

答案 1 :(得分:0)

ClickOnce不喜欢" localhost",但你可以解决这个问题。

如果将“发布文件夹位置”设置为:

C:\的Inetpub \ wwwroot的\ SampleApplication \

和安装文件夹URL:

http://chrish/SampleApplication/

(其中" chrish"是您计算机的网络名称),然后您可以在本地发布。