2009-06-25 78 views
0

我遇到了一個奇怪的問題,我的項目。這是一個網站,現在已轉換爲解決方案中的Web應用程序。最初,使用Linq to Sql .dbml文件設置類,該文件將連接字符串存儲在/MyProject/web.config中。現在這個項目('Web Application')在解決方案中,當我修改Linq to Sql的dbml文件時,它會創建一個只有連接字符串的web.config文件,位於/MySolution/web.config中,而我仍然有/MySolution/MyProject/web.config。這給重複的連接字符串名稱帶來了錯誤。那麼,我如何讓Linq to Sql只使用/MySolution/MyProject/web.config中的web.config文件,或者我的整個web.config文件應該在MySolution/web.config中(我寧願保留它它在哪裏)謝謝!Web.Config文件和Linq到Sql更改它的位置

PS:DataContext的是/MySolution/MyProject/MyCode/Models/MyDataContext.dbml

回答

0

看來好像更新的dbml將始終強制唯一根web.config進行更新。如果你只使用root web.config,那麼維護你的項目可能是最容易的,但你還有其他的選擇。

每個文件夾都可以有自己的配置,這就是爲什麼你得到重複的名稱異常。如果你想解決這個問題,你可以先刪除然後添加一個具有相同名稱的連接字符串。如果你這樣做,你的ConnectionStrings塊(內/MySolution/MyProject/web.config)將類似於以下內容:

<connectionStrings> 
    <remove name="MyConnectionString"/> 
    <add name="MyConnectionString" connectionString="XXXXXXXXXX" 
     providerName="System.Data.SqlClient" /> 
    </connectionStrings> 

就像我說的,我真的不能推薦您這樣做,因爲你的dbml仍然會保存到根web.config,因此其他開發者可能不容易理解正在發生的事情。

+0

我也意識到你現在可能已經解決了這個問題,但是我看到了這個問題並且認爲它可以使用一個答案! – 2009-07-20 19:07:35