【问题标题】:Deploy SQL scripts stored in a folder along with click once installer部署存储在文件夹中的 SQL 脚本,并单击一次安装程序
【发布时间】:2019-03-11 13:56:16
【问题描述】:

我正在开发一个 Windows 窗体应用程序,在该应用程序中我使用了一些 SQL 脚本并使用 C# 应用程序在我的服务器中执行它们。一切正常。我可以在我的应用程序中运行脚本,然后在指定的数据库中创建表。

但是我的问题是我想在部署时将位于该文件夹中的这些 SQL 脚本与 clickonce 安装程序一起发送。安装程序在安装时不包括 SQL 文件。

下面是我的代码。

lstInfo.Items.Add(Resources.domaintable_initialization);
var file = new FileInfo(Path.GetFullPath(Application.StartupPath + "/scripts/createtbl_script.sql"));
SScriptFile = file.OpenText().ReadToEnd();
SUpdateDBname = SScriptFile.Replace("db_project", database);
var sUpdateServer = new Server(new ServerConnection(sqlConnection));
sUpdateServer.ConnectionContext.ExecuteNonQuery(SUpdateDBname);
sqlConnection.Close();
lstInfo.Items.Add(Resources.domaintable_success);

我已在 debug -> bin 目录中添加了脚本文件夹。但是,当我发布包时,我无法调用位于该路径中的脚本,因为 bin 中的那个文件夹没有被发布,并且我收到路径无效的错误,并且一旦使用 clickonce 包安装脚本就不会被调用.

谁能帮助我实现这一目标?我想要一个路径,我可以在其中添加 SQL 脚本,并且能够在发布后将相同的脚本添加到我的部署包中。

【问题讨论】:

    标签: c# sql winforms


    【解决方案1】:

    您需要将这些文件包含在 Visual Studio 项目中。只需右键单击项目并添加一个已经存在的元素。

    选择您的脚本并将它们添加到项目中。

    然后右键单击脚本文件,然后单击属性。现在您将看到一个属性构建或类似的东西。在那里您可以使用 Dropbox 并选择“内容”。

    您会在下面找到另一个保管箱,其中应显示“请勿复制”之类的内容。将该保管箱的值设置为“始终复制”。

    这应该可以解决问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-24
      • 1970-01-01
      • 2016-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-03
      相关资源
      最近更新 更多