我最近被要求爲Windows Forms應用程序創建一個安裝程序,該應用程序使用實體框架與數據庫進行通信。如果數據庫不存在於最終用戶的計算機上,我修改了我的程序以創建數據庫,所以它應該沒有問題。問題是,我使用InstallShield進行的Visual Studio 2012,並建立我的安裝後,安裝目錄中只產生2個文件:VS2012:我的實體框架模型沒有包含在使用InstallShield的項目輸出中
MyProgram.exe & MyProgram.exe.config
問題是,我相信一個EntityFramework.dll文件也應該包含在程序的工作中,但顯然,Visual Studio不想包含它。我嘗試了一切。我點擊了EF模型的屬性,並選擇了「複製到輸出」或「如果新的複製」,並且沒有任何內容。我也試圖改變我的.edmx文件的屬性,我切換生成行動:沒有生成行動:編譯...但之後,我的整個程序甚至不會建立!它扔了以下錯誤:
A namespace cannot directly contain members such as fields or methods
及後雙擊錯誤以檢查它發生了,它開在代碼中EDMX文件,顯然是想讓我在它的開始添加命名空間......但是這整個事情看起來像XML ...所以它爲什麼要求我一個名稱空間?
我想要做的就是將我的實體框架模型添加到我的主輸出,但沒有任何效果。或者它至少不會出現在installshield中。我知道我可以在我的項目/ bin中的調試或發佈文件夾中手動添加「EntityFramework.dll」文件,但那樣做感覺不對。我應該這麼做,還是有理由不將我的實體模型添加到我的項目輸出中?或者爲什麼當我嘗試從無 - >編譯切換編譯選項時,我的EDMX文件拋出命名空間錯誤?
請幫助傢伙......我知道這是一個愚蠢的錯誤,但我想要的是,我的實體模型需要在另一臺PC上工作的文件被複制(據我所知,我需要的是EntityFramework .dll,也許EntityFramework.xml)。幫幫我?