Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 最终用户是否可以更改应用程序';Clickonce部署后的s app.config?_.net_Deployment_Clickonce_App Config_Appsettings - Fatal编程技术网

.net 最终用户是否可以更改应用程序';Clickonce部署后的s app.config?

.net 最终用户是否可以更改应用程序';Clickonce部署后的s app.config?,.net,deployment,clickonce,app-config,appsettings,.net,Deployment,Clickonce,App Config,Appsettings,我有一个应用程序,将部署到相当多的服务器和虚拟机在这里。此应用程序严重依赖于某些文件位置和URL(根据公司网络的哪个部分、是否需要域名、是否使用映射驱动器等,这些位置和URL可能会有所不同)。有些部署不保证由我设置,有些部署将由其他最终用户设置 我的解决方案是将这些设置放入app.config文件中的值中,这样在部署后,在服务器上设置应用程序的人只需更改app.config设置,以了解哪些设置适用于该服务器 然后我了解了ClickOnce部署,它可以帮助简化应用程序的部署和更新,从而使事情变得更

我有一个应用程序,将部署到相当多的服务器和虚拟机在这里。此应用程序严重依赖于某些文件位置和URL(根据公司网络的哪个部分、是否需要域名、是否使用映射驱动器等,这些位置和URL可能会有所不同)。有些部署不保证由我设置,有些部署将由其他最终用户设置

我的解决方案是将这些设置放入app.config文件中的值中,这样在部署后,在服务器上设置应用程序的人只需更改app.config设置,以了解哪些设置适用于该服务器

然后我了解了ClickOnce部署,它可以帮助简化应用程序的部署和更新,从而使事情变得更简单

问题是我找不到可靠的方法允许用户更改app.config中的值,最好在更新后保留这些值。从我在网上发现的情况来看,如果你修改一个系统文件,它会认为该文件是旧的,并下载该文件的最新版本,从而撤销对app.config的任何修改。新版本似乎部署到与以前版本完全不同的文件夹中,因此升级应用程序将完全消除以前的修改


我已经在网上搜索过了,现在空手而归。这里有人对如何处理这个问题有什么建议吗?

我会尽可能多地将这些值放在数据库表中,然后给管理员一个前端来更改他们的用户设置。

我已经通过使用用户范围的应用程序设置解决了这个问题,如前所述。虽然这不是最好的方法(因为它是特定于用户的,而不是特定于应用程序的),但因为我的应用程序只由一个用户运行,所以这很好


当用户更改其设置时,这些更改会在更新过程中保持不变。

除非我必须找到一个对所有服务器都平等可见的数据库,然后还要创建一个表结构来存储每台服务器的应用程序设置。这不是app.config存在的全部原因吗?没有clickonce它就可以正常工作。我想你的应用程序还没有使用db。在这种情况下,引入一个设置表并不值得这么多开销。该表不应为每台服务器,只应为您的应用程序设置一个。不,此应用程序当前不与数据库通信,仅与web服务器通信。不管怎样,我需要更改的设置是不同的,这取决于安装应用程序的机器以及该机器的配置。因此,不适用于每个实例的应用程序范围的设置。不,当然不适用。它们应该根据用户或machineID或其他任何内容而有所不同,但如果您还没有db,那么这就无关紧要了。