我有一个带有mssql数据库的winforms项目,该数据库存储用户创建的数据,所有这些数据都是在Visual Studio2010中创建的。我能够在本地计算机上发布项目并使用clickonce进行部署。该应用程序会自动更新,并且运行良好。当我安装新版本时,它会删除数据库中的所有表数据。我目前没有在发布时部署的数据库中的任何数据,但如果将来需要的话,我想要部署。
是否有办法在visual studio中更改此行为?如果没有,我该如何阻止数据库在更新时删除所有用户数据呢?
我之前问过这个问题,但是用户认为这个问题没有建设性。一位用户说:“这看起来更像是设置的问题,只是覆盖了数据库,与C#或Visual Studio无关。”
有没有人能详细解释一下这个用户所说的设置是什么意思?
我认为这将是一个非常有建设性的问题,因为这是自动更新winforms应用程序的一个非常重要的部分。我已经搜索过了,但似乎无法使用正确的词来解决这个问题。如果这对这个网站没有建设性或相关性,那么至少有人能给我指出正确的方向吗?
发布于 2012-12-04 11:55:20
我认为用户之前是对的。如果我正确理解了您的问题,那么与VS或C#相比,它与版本控制和部署策略有更多的关系。
您可以在您的应用程序中内置功能,以检查加载的应用程序的版本以及数据库是否已经存在,然后决定从那里做什么。
一种解决方案是使用SQL脚本进行部署,这些脚本根据要部署的版本或数据库以前是否存在来更新数据库,而不是简单地覆盖它
deployment strategy
another deployment strategy esp策略#3 -使用可重复运行的脚本
编辑我认为您的问题与使用debug还是release进行部署没有多大关系
https://stackoverflow.com/questions/13695327
复制相似问题