C# 部署存储在文件夹中的SQL脚本以及click once安装程序

C# 部署存储在文件夹中的SQL脚本以及click once安装程序,c#,sql,winforms,C#,Sql,Winforms,我正在开发一个windows窗体应用程序,其中使用了一些SQL脚本,并使用C#应用程序在服务器上执行它们。一切正常。我能够在应用程序中运行脚本,然后在指定的数据库中创建表 但是,我的问题是,我希望在部署时将这些SQL脚本与clickonce安装程序一起发送到该文件夹中。安装程序在安装时不包括SQL文件 下面是我的代码 lstInfo.Items.Add(Resources.domaintable_initialization); var file = new FileInfo(Path.GetF

我正在开发一个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目录中添加了scripts文件夹。但是,当我发布包时,我无法调用位于该路径中的脚本,因为bin中的文件夹未被发布,并且我收到一个错误,即使用clickonce包安装后,路径无效,脚本未被调用


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

您需要在visual studio项目中包含这些文件。只需在项目上单击鼠标右键,然后添加一个已经存在的元素

选择脚本并将其添加到项目中

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

下面你会发现另一个dropbox,上面应该写着“不要复制”。将该dropbox的值设置为“始终复制”


这样就可以了。

您需要在visual studio项目中包含这些文件。只需在项目上单击鼠标右键,然后添加一个已经存在的元素

选择脚本并将其添加到项目中

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

下面你会发现另一个dropbox,上面应该写着“不要复制”。将该dropbox的值设置为“始终复制”

这应该能奏效