簡體   English   中英

如何使用web.config刪除DbProviderFactories?

[英]How remove DbProviderFactories using web.config?

我的ASP.NET MVC應用程序有問題,它使用SQLSERVER 2012 Expresss來保證安全性,並且這與我在這種情況下不使用的Firebird安裝有沖突。 得到這樣的異常:

為system.data創建配置節處理程序時發生錯誤:列'InvariantName'被限制為唯一。 值'FirebirdSql.Data.FirebirdClient'已存在。

我試圖在我的web.config中輸入:

<remove invariant="FirebirdSql.Data.FirebirdClient"/>

但這不起作用,我終於做了什么,我從machine.config中刪除了這個firebird條目:

<system.data>
<DbProviderFactories>
<add name="FirebirdClient Data Provider" invariant="FirebirdSql.Data.FirebirdClient" description=".NET Framework Data Provider for Firebird" type="FirebirdSql.Data.FirebirdClient.FirebirdClientFactory, FirebirdSql.Data.FirebirdClient, Version=3.0.2.0, Culture=neutral, PublicKeyToken=3750abcc3150b00c"/><add name="FirebirdClient Data Provider" invariant="FirebirdSql.Data.FirebirdClient" description=".NET Framework Data Provider for Firebird" type="FirebirdSql.Data.FirebirdClient.FirebirdClientFactory, FirebirdSql.Data.FirebirdClient, Version=3.0.2.0, Culture=neutral, PublicKeyToken=3750abcc3150b00c"/></DbProviderFactories>

並且結果很好,但這並不是理想的解決方案,因為我有時候還需要使用firebird。 無論如何要暫時在app web,config中禁用此條目? 另外,為什么我要開始這樣的沖突呢? 謝謝

您在machine.config中有兩次相同的記錄。 刪除一個,你會沒事的。

我有類似的問題,最終得到了一個不同的解決方案。

發生的事情是我開始在IIS創建的默認(根)文件夾中開發我的Web應用程序。

之后,出於測試目的,我將此選項更改為在同一域中的更深層文件夾中工作:

項目屬性 - > Web

我添加了名稱,然后單擊“ 創建虛擬目錄 ”。 該應用程序運行但給了我類似的問題。

發生的事情是,當我創建第二個虛擬目錄時, IIS快速離開第一個指向同一位置的虛擬目錄。 所以我有兩個相同的應用程序兩次分層共享Web.config。

解決我的問題

為了解決這個問題,我剛剛更改了端口,因此以前創建的虛擬目錄不再是我的root用戶了。

暫無
暫無

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

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