4

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

警告:无法从http://chrish/SampleApplication/下载文件。

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

警告:无法在 http://chrish/SampleApplication/publish.htm查看已发布的应用程序。 http://chrish/SampleApplication/publish.htm

请注意它是如何将我的 url 从 Localhost 更改为我的登录名的。为什么?这不是在一周前发生的。

4

2 回答 2

6

ClickOnce 安装涉及验证服务器名称是否与预期名称匹配。因此 localhost 总是被翻译成计算机名称[不是您在问题中建议的用户名](ClickOnce 所做的许多令人困惑的事情之一 - 这样做的一个副作用是,如果您想设置 3 个下载服务器,您需要做 3 次单独的发布和/或像这样)或像这样编写发布脚本。所以这并不奇怪——它总是在幕后做这件事。

407 错误与代理身份验证有关。这意味着下载正在通过 Microsoft ISA Server 等代理转移。查看您的 IE Internet 选项连接代理设置并确保它绕过本地地址 [例如chrish]。

它报告成功的原因是上传可能使用了与验证不同的替代机制,并且没有通过代理路由/阻止。(根本问题是 .NET 框架默认不传递代理凭据,您需要为 devenv 应用配置条目或发布的任何内容,或者让构建过程调用带有额外代码的测试步骤发送代理凭据]( http://blogs.msdn.com/jpsanders/archive/2009/03/24/httpwebrequest-webexcepton-the-remote-server-returned-an-error-407-proxy-authentication-required.aspx ). 另请参阅如何将默认代理设置为使用默认凭据? )

于 2010-02-08T17:47:19.573 回答
0

ClickOnce 不喜欢“localhost”,但您可以解决这个问题。

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

C:\inetpub\wwwroot\SampleApplication\

和安装文件夹 URL:

http://chrish/SampleApplication/

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

于 2017-04-12T04:18:40.847 回答