如何发布/更新winforms项目而不在数据库中删除表



我有一个winforms项目,它有一个mssql数据库,用于存储用户创建的数据,全部在Visual Studio C#2010中创建。我可以在本地机器上发布项目并使用clickonce进行部署。该应用程序会自动更新,运行良好。当我安装新版本时,它会删除数据库中的所有表数据。我目前在发布时部署的数据库中没有任何数据,但如果将来需要,我希望可以部署。

有没有办法在visualstudio中改变这种行为?如果没有,我该如何阻止数据库在更新时删除所有用户数据?

我之前问过这个问题,但用户认为这没有建设性。一位用户表示,"这看起来更像是一个只覆盖数据库的设置问题,与C#或Visual Studio无关">

有人能详细说明这个用户所说的SETUP是什么意思吗?

我认为这将是一个非常有建设性的问题,因为这是自动更新winforms应用程序的一个非常重要的部分。我已经搜索过了,但似乎找不到合适的词来解决这个问题。如果这与这个网站没有建设性或相关性,至少有人能给我指明正确的方向吗?

我认为以前的用户是对的。如果我正确理解您的问题,那么它更多地与版本控制和部署策略有关,而不是VS或C#。

你可以在你的应用程序中构建功能,检查加载时的应用程序版本以及数据库是否已经存在,然后决定该怎么做。

一个解决方案可以是使用SQL脚本进行部署,这些脚本根据您正在部署的版本或数据库以前是否存在来更新数据库,而不是简单地覆盖它

可能答案

部署策略

另一种部署策略esp策略#3-使用可重新运行的脚本

EDIT我认为您的问题与您是使用调试还是发布部署关系不大

最新更新