当 ClickOnce 丢失代理设置时,检查发布的 .exe.config
当 .NET Framework 代理更改在本地有效但在 ClickOnce 安装中失效时,检查已部署的可执行文件配置。
如果开发版本可用,但其 ClickOnce 发布版本返回 407,那么在更改凭据之前,请检查该发布版本是否包含预期的可执行文件配置。
| 检查点 | 要比较的内容 |
|---|---|
| 生成输出 | 可执行文件名称正确的配置文件:Reports.exe.config(对应 Reports.exe) |
| 发布输出 | 该文件的内容以及应用程序文件的包含设置 |
| 受影响的安装 | 该用户实际收到的已发布版本 |
App.config 是 .NET Framework 桌面项目中的源文件。编辑它并不能证明已安装的应用程序收到了生成的 .exe.config。
对于打算使用当前 Windows 凭据调用系统代理的旧版应用程序,该片段可以是:
<system.net>
<defaultProxy useDefaultCredentials="true">
<proxy usesystemdefault="true" />
</defaultProxy>
</system.net>将其放在现有 configuration 根节点下,并保留无关设置。这是 .NET Framework 的网络配置模型,并非适用于所有现代 .NET 客户端的设置。
如果已安装的文件正确,接下来检查进程标识和路由。默认凭据是运行中进程可用的凭据;它们并不授予代理权限。显式的应用程序代理也可能取代默认值。发布配置缺失和身份验证被拒都可能表现为 407,但三文件比较决定了交付是否是第一次修复。