2012-09-03 84 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文件。