C# 应用程序配置windows窗体应用程序

C# 应用程序配置windows窗体应用程序,c#,app-config,C#,App Config,我刚刚发布了我的windows窗体应用程序(通过Build->Publish application),并告诉安装程序将其保存在地图中。现在,地图包含以下内容: Application Files(folder) -> sync_1_0_0_4(folder) -> sync.application Setup.exe sync.exe.config.deploy sync.applicati

我刚刚发布了我的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。现在我想从app config中更改一个键,因此最合理的做法是打开
sync.exe.config.deploy
。正如我所看到的,我的应用程序配置行非常正常,因此我进行了所需的更改并运行我的应用程序。问题是,我的申请没有任何变化。我忘了什么吗?这是我第一次发布C#应用程序。我尝试过这个答案:但没有成功。

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


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

您重新部署了吗?sync.exe.config.deploy中的更改可能在下次部署之前不会生效。每次编译“App.config”文件时,都会将其作为“YourApplication.exe.config”复制到输出目录中。如果您想要永久更改,请在应用程序中进行更改。config@Tobberoth是的。如果使用“单击一次”部署,请不要认为您可以更改sync.exe.config。清单将包含配置的哈希。如果你改变它,你也必须改变清单,否则程序将不会启动一个“篡改”的消息让我们啊哈,那么ClickOnce不是我需要的。谢谢,我通常只是将我的应用程序的bin\debug或bin\release文件夹复制到一些客户机上,他们不需要花哨的安装程序,而且可以正常工作。但是,例如,当你必须从一个网站向数百名用户提供你的应用程序,并确保它自动保持最新时,那么ClickOnce就是最好的选择。是的,有人刚刚在聊天中向我解释说:D,它现在可以工作了