使用 Visual Studio 2012 创建文件的副本

Posted

技术标签:

【中文标题】使用 Visual Studio 2012 创建文件的副本【英文标题】:Create a copy of a file with Visual Studio 2012 【发布时间】:2016-03-04 08:10:24 【问题描述】:

我很抱歉标题不好,但我没有想到更好的方法。

我正在创建一个带有数据库的程序 (vb.net)。当我构建程序时,数据库已经在其中并且程序正在运行。

如果构建、使用和编辑数据库的用户,更改将被保存。但是如果我更新程序,数据库将被覆盖,用户的所有更改都将消失。

我从几个小时以来一直在寻找解决方案,但我找不到合适的关键字进行搜索。所以也许有人可以帮助我。

我的想法是从程序中复制数据库,保存在这里:

C:\Users\<Username>\AppData\Local\Apps\2.0\XB8ZOKH5.AK0\C9NZMRPR.25M

到永久存储位置,例如这里:

C:\Users\<Username>\program\database.accdb

如何使用 Visual Studio 做到这一点?

【问题讨论】:

问题是你真正想要实现什么?如果您更改数据库的结构(更改表、添加索引、创建存储过程...)会怎样。您要发布此类更改吗? 我必须是一个固定结构,因为用户可以插入自己的数据,程序会读取它。 您是否使用 ClickOnce 发布? 我建议“部署新程序版本时如何保留旧数据库?”作为标题。 【参考方案1】:

你在正确的轨道上。几年前我学会了一种类似的技术,它在像你这样的小项目上效果很好。

您的安装程序应该只在硬盘上安装一个“模板”版本的数据库。

当您的程序启动时,它可以尝试连接到数据库的“工作副本”。如果用户无法连接到数据库,或者“工作副本”没有设置,程序可以复制“模板”(System.IO.File.Copy)并保存设置,指向“工作副本”。然后每次升级程序时,您的完整数据库将是安全的。当然,让您的程序经常对数据库 (zip) 进行“备份”也是一个好主意。

【讨论】:

以上是关于使用 Visual Studio 2012 创建文件的副本的主要内容,如果未能解决你的问题,请参考以下文章

我可以使用 Visual Studio 2012 安装 Visual Studio 2010 SP1 SDK 吗?

Visual Studio 2012 未能检测到 Visual Studio 2008 构建工具

Visual Studio 2010 项目到 Visual Studio 2012

Visual Studio 2012 与 Visual Studio 2005 中的小程序慢得多

使用 Visual Studio 2012 和 SQL Server Management Studio 2012 运行 SQL Server CE 4 查询

我需要用于 .NET 4.5 的 Visual Studio 2012 还是 Visual Studio 2010 适合 4.5?