【问题标题】:Is there a setting so that when Published the database is overwritten by the database in Release是否有设置以便在发布时数据库被发布中的数据库覆盖
【发布时间】:2012-07-22 16:57:14
【问题描述】:

我有一个包含 SQL Server Compact 数据库的项目。

  1. 我构建了它内置到 bin/Release 中的解决方案。
  2. 然后我将项目从bin/Release 发布到我安装它的文件服务器目录。
  3. 然后我通过 Winforms 在已发布应用程序文件中的数据库中添加一些行,然后使用这些额外的行更新其数据库。
  4. 然后我回到 Visual Studio 中的解决方案,向表单添加一些按钮,并向其数据库添加一些垃圾记录。
  5. 然后我重新构建这个新版本并将其发布到文件服务器并运行应用程序

我注意到来自 4 的新按钮现在在表单上,​​但我在 4 中添加的垃圾行没有 - 数据库保留在我在 3 中留下的状态。

在解决方案中是否有一个设置,我可以更改,而不是保留应用程序数据库,它们会被解决方案bin/Release files 中的数据库覆盖?

【问题讨论】:

    标签: c# visual-studio sql-server-ce


    【解决方案1】:

    在 Visual Studio 中右键单击数据库文件,然后在“复制到输出目录”字段下选择“始终复制”。这将在您每次重建项目时将 bin/Release 文件夹中的数据库文件替换为项目文件夹中的数据库文件。

    【讨论】:

    • 谢谢...但是什么时候发布呢?已发布版本中的数据库会被覆盖
    • 它应该覆盖它并使用发布文件夹中的文件,这不是发生了吗?
    • 现在测试;我看到还有另一个属性“构建操作” - 当前设置为内容 - 这是做什么的?
    • 内容应该没问题 - 来自这里的另一个 stackoverflow 评论 stackoverflow.com/questions/145752/… 内容:允许您通过 Application.GetContentStream(uri) 将文件(与程序集在同一目录中)作为流检索。要使此方法起作用,它需要一个 AssemblyAssociatedContentFile 自定义属性,当您将文件标记为“自定义”时,VS 会优雅地添加该属性
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多