簡體   English   中英

帶有類庫項目的ASP.NET解決方案

[英]ASP.NET solution with class library project

我在VS 2008中有一個解決方案,它包含兩個類庫項目和一個ASP.NET網站。 ASP.NET站點引用類庫,其中一個庫包含LINQ To SQL項。

我的問題是關於類庫中的app.config,它包含數據庫的連接字符串。 當我構建項目時,此app.config不在構建目錄中,這意味着我無法動態更改已部署項目的連接字符串。

我在這里做錯了什么,如何部署這些設置,以便我可以更改連接字符串?

提前致謝,

馬丁。

這也引起了我一點困惑。

您可能認為類庫使用的是包含在其自己的項目中的app.config文件,但它沒有。 它使用引用它的項目的配置文件。

因此,您需要做的是在ASP.Net項目的web.config文件中查找<appSettings/>標記並將其更改為<appSettings></appSettings>並添加<add ... />標記包含在庫項目的app.config文件中。 您不需要在代碼中更改ConfigurationManager類的任何內容來解決這個問題。 它知道自動查找的位置。

希望有道理。

為了克服連接字符串的問題,這是訣竅

  1. 在ur類庫中聲明了有兩個屬性的模塊,一個是setter,另一個是getter,並將它們公之於眾。
    1. 在你的ur網站項目中,轉到全局文件,在session start和application start下調用你之前聲明的setter屬性,並為它分配ur web.config中的連接字符串,現在連接字符串將可用在網站的一般范圍內,只要您的會話憑證未過期,該值就存在。

您可以在最終產品中編輯Web.config文件。 配置API通常會從應用程序的主配置文件中獲取配置數據,如果ASP.NET應用程序是Web.config ,則客戶端應用程序是Myfile.exe.config 重要的是要知道項目中的類庫通常不會有像MyClassLib.dll.config這樣的單獨配置文件(除非您手動引用特定文件)。

將connectionString部分從庫的app.config文件復制到web.config文件。 根據需要將實際連接字符串從開發更改為生產服務器。 LINQ2SQL用於獲取連接字符串的ConfigurationManager類將在web.config文件中查找適當命名的連接字符串,如果存在則使用它。

如果要為開發與生產設置不同的設置,請使用Web部署項目。 在這里下載。 來自微軟的描述:

Visual Studio 2008 Web部署項目提供了在Visual Studio 2008中構建和部署Web站點和Web應用程序的附加功能。此加載項提供了一個全面的UI,用於管理構建配置,合並以及使用MSBuild進行預構建和后構建任務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM