2012-09-03 52 views
2

我正在尝试使用CLICKONCE部署将我的.NET WINFORMS与数据库文件(SQLCE - * .sdf)项目发布到我的服务器。我在我的解决方案中使用C#。使用clickonce发布sqlCE(*。sdf)文件

我在这个球场遇到的问题是我的数据库文件与我的可执行文件不在一个项目中。包含* .sdf的项目在Main项目中引用。因此,一旦文件生成后,文件会自动复制到Main项目的bin文件夹中,但无法在(MainProject> Properties> Publish> Application Files)中看到该文件,从而无法将其发布到我的服务器。

问题是,我不能发送* .sdf与项目的发布。

我该如何去解决这个问题?

+0

将文件移动到主项目? – ErikEJ

+0

@ErikEJ - 如果和我一样,“其他项目”被两个不同的项目引用,那么这是行不通的。例如,我有一个ClickOnce项目,它只是一个小GUI,但需要使用SqlCe文件访问该常见DLL,以及另一个需要访问该常见DLL和SqlCe文件的大型应用程序。这是将它们分解成不同的程序集的重点。 –

回答

0

试试这个指令:

1)创建一个新的Windows窗体应用程序。

2)添加数据源(选择一个数据库文件,如SqlDatabase.mdf)到您的项目中。

3)拖动&将DataGridView1拖放到Form1上,并使用| DataDirectory |数据库连接字符串的路径。

Imports System.Data.SqlClient 

Public Class Form1 

'Binding database table to DataGridView 

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 

    Dim con As SqlConnection = New SqlConnection("Data Source=.;Integrated Security=True;AttachDbFilename=|DataDirectory|\SqlDatabase.mdf") 

    Dim cmd As SqlCommand = New SqlCommand("SELECT * FROM Table1", con) 

    con.Open() 

    Dim myDA As SqlDataAdapter = New SqlDataAdapter(cmd) 

    Dim myDataSet As DataSet = New DataSet() 

    myDA.Fill(myDataSet, "MyTable") 

    DataGridView1.DataSource = myDataSet.Tables("MyTable").DefaultView 

    con.Close() 

    con = Nothing 

End Sub 

End Class 

4)在Solution Explorer中选择SqlDatabase.mdf文件,并查看其属性:

确保“生成操作”属性设置为“内容”。

“复制到输出目录”属性设置为“复制如果更新”。

5)项目属性 - >发布选项卡 - >按“应用程序文件”按钮

检查列表中的数据库文件,并确保它的“发布状态”设置为“数据文件(自动)”和“下载组”设置为“(必填)”。

6)项目属性 - >发布标签 - >点击“发布”按钮来发布你的应用程序来生成一个Setup.exe文件。

安装Setup.exe文件,数据库文件将与应用程序一起部署到应用程序安装文件夹的“Data”文件夹中。 exe.config文件也将与应用程序安装文件夹一起部署。

Original source

+0

现在的问题是,我无法访问sdf,因为在一个解决方案中,数据库文件位于不同的项目中,而不是发布的项目。 如果我可以访问它,那么我会去上面的路线,直到然后我卡住了。所以我需要在发布下的应用程序文件选项卡中选择它。 –

0

有几个选项可供您选择。两者都涉及在Visual Studio之外创建ClickOnce部署。一旦你想超越基础,你需要移出Visual Studio。

选项1)法师和MageUI - 这是一个微软工具,你可以用它来放置ClickOnce部署。这里有一个指南:http://msdn.microsoft.com/en-us/library/xc3tc5xx.aspx

选项2)ClickOnceMore - 这是我写的一个工具,允许您使用ClickOnce做更多。您可以轻松地创建项目并从主要.exe项目之外添加文件。这里有一个入门指南:http://clickoncemore.net/documentation/browser.php?page=quick_start_guide。在你的场景中,你可能只需要创建一个文件包含规则并将其指向你的应用程序的bin目录。

0

1)在Solution Explorer中选择SqlDatabase.sdf文件,并查看其属性:

确保“生成操作”属性设置为“内容”。

“复制到输出目录”属性设置为“复制如果更新”。

2)项目属性 - >发布选项卡 - >按“应用程序文件”按钮

检查列表中的数据库文件,并确保它的“发布状态”设置为“包含”和“下载集团”被设置为“(必填)”。

3)项目属性 - >发布标签 - >点击“发布”按钮来发布你的应用程序来生成一个Setup.exe文件。