這是一件很簡單的事情,即使在這裏問這個讓我感到很蠢,但是由於我長期被困在這裏,我會在這裏問。我正在開發Visual Studio中的數據層應用程序。我有平常的東西,如表格,存儲特效和一些部署後數據。默認情況下,數據層應用程序隨附腳本/後期部署文件夾。在這個文件夾裏有一個名爲Script.PostDeployment.sql的文件。爲了更有條理,我將部署後的文件夾創建爲StaticData和TestData。我的數據創建插入語句位於這些文件夾內。所以,基於此結構,我加入以下代碼到我的Script.PostDeployment.sql:數據層應用程序 - 部署後
/*
Post-Deployment Script Template
--------------------------------------------------------------------------------------
This file contains SQL statements that will be appended to the build script.
Use SQLCMD syntax to include a file in the post-deployment script.
Example: :r .\myfile.sql
Use SQLCMD syntax to reference a variable in the post-deployment script.
Example: :setvar TableName MyTable
SELECT * FROM [$(TableName)]
--------------------------------------------------------------------------------------
*/
:r .\StaticData\States.sql
:r .\TestData\Logins.sql
的問題是上面的代碼不起作用。出於某種原因,deploy命令只是忽略路徑,並且在Scripts/Post-Deployment中查找States.sql和Logins.sql,而不是在適當的子文件夾中查找。任何人遇到類似的東西?非常簡單的問題,但永遠帶我去解決這個問題。我盡力解釋,但提出問題,我可以嘗試使問題更清楚。 謝謝!
只是爲了澄清幾點:(1)你在使用Visual Studio的版本? (2)當你說部署命令不起作用時,你的意思是在Visual Studio的生成菜單上的部署命令? (3)你如何確定它忽略了路徑 - 你是否在Output窗口看到了一些告訴你的東西,你在看它所創建的文件還是其他的東西? – 2011-02-27 23:11:44
(1)Visual Studio 2010 Premium與SQL Server 2008 R2一起使用。 (2)是從構建菜單中執行「部署」命令。 (3)我知道visual studio忽略路徑的方式是當我看着它顯示的輸出窗口時 - 錯誤:找不到文件'$ \ Scripts \ Post-Deployment \ States.sql'。 – 2011-02-28 01:19:08
嗯。我沒有經歷過。它對我來說就像一個魅力,但我沒有在這臺機器上安裝SQL 2008 R2;只是SQL Express和VS2010。讓我們確保這是來自部署後腳本的導致錯誤的行。如果刪除這些行,錯誤消失了嗎?或者,如果您將States.sql和Logins.sql文件複製到部署後文件夾中,那麼錯誤消失了嗎? – 2011-02-28 06:39:06