我在VS 2008中有一個解決方案,其中包含兩個類庫項目和一個ASP.NET網站。 ASP.NET站點引用類庫,其中一個庫包含LINQ To SQL項。ASP.NET解決方案類庫項目
我的問題是關於包含數據庫連接字符串的類庫中的app.config。當我構建項目時,此app.config不在構建目錄中,這意味着我無法動態更改已部署項目的連接字符串。
我在做什麼錯在這裏,我怎麼能部署這些設置,所以我可以更改連接字符串?
在此先感謝,
Martin。
我在VS 2008中有一個解決方案,其中包含兩個類庫項目和一個ASP.NET網站。 ASP.NET站點引用類庫,其中一個庫包含LINQ To SQL項。ASP.NET解決方案類庫項目
我的問題是關於包含數據庫連接字符串的類庫中的app.config。當我構建項目時,此app.config不在構建目錄中,這意味着我無法動態更改已部署項目的連接字符串。
我在做什麼錯在這裏,我怎麼能部署這些設置,所以我可以更改連接字符串?
在此先感謝,
Martin。
這也引起了我一些混亂。
您可能認爲類庫使用包含在它自己的項目中的app.config文件,但它沒有。它使用引用它的項目的配置文件。
所以,你需要做的是尋找你的ASP.Net項目的web.config文件裏面的<appSettings/>
標籤並將其更改爲<appSettings></appSettings>
,並添加包含在庫中的app.config文件中<add ... />
標籤是什麼項目。您無需更改代碼中ConfigurationManager類的任何內容即可解決此問題。它知道在哪裏自動尋找。
希望是有道理的。
您可以在最終產品中編輯Web.config
文件。配置API通常會從應用程序的主配置文件中獲取配置數據,在ASP.NET應用程序中爲Web.config
,客戶端應用程序爲Myfile.exe.config
。知道項目中的類庫通常不會有像MyClassLib.dll.config
這樣的單獨配置文件(除非您手動引用特定文件),這一點很重要。
將庫的app.config文件中的connectionString節複製到您的web.config文件中。根據需要將實際連接字符串從開發改爲生產服務器。 LINQ2SQL用於獲取連接字符串的ConfigurationManager類將在web.config文件中查找適當命名的連接字符串,並在存在時使用它。
如果要爲開發與生產設置不同的設置,請使用Web部署項目。下載here。從微軟的描述:
Visual Studio 2008的Web部署 項目提供額外的 功能來構建和部署Web在Visual 2008年工作室 站點和Web應用程序這個插件提供了一個 全面的用戶界面來管理打造 配置,合併和使用 預構建和後構建任務與 MSBuild。
爲了克服連接字符串的問題,這裏是招