2011-04-08 35 views
2

嗨我如何使用clickonce從我的bin文件夾發佈文件?Clickonce錯過了垃圾箱中的文件夾

我成功地利用生成事件xcopy "$(ProjectDir)\..\project.Sql\AlterProductionServer" "$(TargetDir)\AlterProductionServer" /i /y

複製.SQL腳本的文件夾複製到bin文件夾

我做這件事的目的是讓系統來檢查任何數據庫的腳本在啓動時改變。系統將檢查bin文件夾中的腳本。我xcopy到bin的原因,以便部署時,我的客戶端PC將從相同的位置讀取它。如果找到,那麼它將在運行系統之前運行.sql腳本來更新數據庫。

但是,當我點擊發布 - >應用程序文件時,我沒有看到包含.sql文件的AlterProductionServer文件夾,我已經複製到bin出現我選擇Include

請指教。

回答

2

當通過Visual Studio IDE中的ClickOnce進行發佈時,它只會提供項目/解決方案中的文件,而不是文件系統中的文件。您可以將.sql文件添加到項目中,將生成操作設置爲Content,並指定將其複製到輸出目錄。這消除了對xcopy構建操作的需求,並使VS知道文件的重要性。

如果它在重建後仍然不會顯示在應用程序文件部分中,那麼您可能必須考慮編寫自己的應用程序/部署清單文件(XML)並使用命令行ClickOnce實用程序發佈您的應用程序/部署清單文件解。當我在ClickOnce發佈中包含不是主項目依賴項的項目時,我發現這是必需的。

+0

嗨,感謝您的回覆。但我希望將整個文件夾及其內容複製到輸出中。當我右鍵單擊包含所有.sql腳本的文件夾屬性時,我看不到「始終複製」。我只能複製該文件夾內的腳本。如果是這樣,那麼系統將很難搜索這些腳本。 – VeecoTech 2011-04-08 05:38:50

+0

謝謝其實'內容'已經能夠複製整個文件夾內的腳本。感謝這 – VeecoTech 2011-04-08 05:40:31

+0

一個問題,如果通過將構建動作設置爲Content並將Always All設置爲將這些具有文件夾的腳本複製到bin文件夾,系統可以在使用clickonce進行部署之後識別這些腳本文件夾的位置嗎?私人字符串databaseUpdatePath = System.Windows.Forms.Application.StartupPath +「\\ AlterProductionServer」;' – VeecoTech 2011-04-08 06:16:46