0

我刚刚发布了我的 Windows 窗体应用程序(通过Build -> Publish Application),并告诉设置将其保存在地图中。现在地图包含以下内容:

 Application Files(folder) -> sync_1_0_0_4(folder) -> sync.application
 Setup.exe                                            sync.exe.config.deploy
 sync.application                                     sync.exe.deploy
                                                      sync.exe.manifest

还有一些DLL。现在我想从应用程序配置中更改一个密钥,所以最合乎逻辑的做法是打开sync.exe.config.deploy. 当我这样做时,我看到我的应用程序配置行非常正常,所以我进行了所需的更改并运行了我的应用程序。问题是,我的应用程序没有任何变化。我是不是忘记了什么?这是我第一次发布 C# 应用程序。我试过这个答案:C# - app config doesn't change but it didn't work。

4

1 回答 1

1

ClickOnce 发布做了很多事情。一方面,它对文件没有更改进行加密验证,因此您不能只编辑这些文件。它还将所有部署文件复制到用户硬盘上的某个位置,如果没有重新安装应用程序并且版本没有更改,则不会复制任何内容。第三,如果您的设置是用户范围的,它们可能已经被用户更改并且不会从新的应用程序配置中重新读取。

长话短说,如果您必须更改配置,那么您必须重新部署,并确保您的设置是应用程序范围的,而不是用户范围的。

于 2013-11-14T13:20:14.680 回答