C# ClickOnce在本地数据库更新时删除该数据库。。怎么不呢?

C# ClickOnce在本地数据库更新时删除该数据库。。怎么不呢?,c#,clickonce,C#,Clickonce,我正在使用ClickOnce部署我的应用程序。当应用程序第一次运行时,如果数据库不存在,它会创建一个数据库 问题是,当我更新时,它会删除本地数据库。有没有办法告诉它忽略它?我想你把它放在应用程序目录中了。。。不要 将其放入Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData或Environment.SpecialFolder.LocalApplicationData)我想您正在将其放入应用程序目录中。。。不要 将其

我正在使用ClickOnce部署我的应用程序。当应用程序第一次运行时,如果数据库不存在,它会创建一个数据库


问题是,当我更新时,它会删除本地数据库。有没有办法告诉它忽略它?

我想你把它放在应用程序目录中了。。。不要


将其放入
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData
Environment.SpecialFolder.LocalApplicationData)

我想您正在将其放入应用程序目录中。。。不要


将其放入
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData
Environment.SpecialFolder.LocalApplicationData)

部署中不包括数据库。当数据库不存在时,实现您自己的数据库创建(使用脚本)。

不要将数据库包括在部署中。当数据库不存在时,实现您自己的数据库创建(使用脚本)。

在项目的“发布选项”的“应用程序文件”下,数据库文件的发布状态是否设置为“数据文件”?

在项目的“发布选项”的“应用程序文件”下,数据库文件的发布状态是否设置为数据文件?

数据库文件实际上是由类项目访问的,因此它不会显示在发布选项的“应用程序文件”区域中。数据库文件实际上是由类项目访问的,所以它不会出现在发布选项的应用程序文件区域中。我需要考虑哪些安全问题?默认情况下,应用程序是否有权写入应用程序文件夹外的文件?默认情况下,应用程序可以写入ApplicationData和LocalApplicationData。显然,管理员或用户可以随时更改这些文件夹的权限,但我认为“安全”的假设是您可以在那里写入。我需要考虑哪些安全问题?默认情况下,应用程序是否有权写入应用程序文件夹外的文件?默认情况下,应用程序可以写入ApplicationData和LocalApplicationData。显然,管理员或用户可以随时更改这些文件夹的权限-但我认为“安全”的假设是您可以在那里写入。我已经这样做了-这不是部署的一部分,但如果发生更新,它会被删除。+1。回答得好。。并确保将其放置在可访问的位置,如@PhillipI已经回答的Environment.SpecialFolder.ApplicationData-它不是部署的一部分,但如果发生更新,它将被删除。+1。回答得好。。并确保将其放置在可以访问的位置,如@Phillip回答的Environment.SpecialFolder.ApplicationData