C# 如何使用web.config删除DbProviderFactorys?
我的ASP.NET MVC应用程序使用SQLSERVER 2012 Expresss进行安全保护,但我的ASP.NET MVC应用程序存在问题,这与我的Firebird安装(本例中未使用)存在冲突。获得如下异常: 为system.data创建配置节处理程序时出错:“InvariantName”列被约束为唯一。 值“FirebirdSql.Data.FirebirdClient”已存在 我已尝试在我的web.config中输入以下内容:C# 如何使用web.config删除DbProviderFactorys?,c#,asp.net,sql,firebird,C#,Asp.net,Sql,Firebird,我的ASP.NET MVC应用程序使用SQLSERVER 2012 Expresss进行安全保护,但我的ASP.NET MVC应用程序存在问题,这与我的Firebird安装(本例中未使用)存在冲突。获得如下异常: 为system.data创建配置节处理程序时出错:“InvariantName”列被约束为唯一。 值“FirebirdSql.Data.FirebirdClient”已存在 我已尝试在我的web.config中输入以下内容: <remove invariant="Firebird
<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应用程序 之后,出于测试目的,我将此选项更改为在同一域中的更深层文件夹中工作: 我添加了名称并单击“创建虚拟目录”。应用程序运行了,但给了我类似的问题 当我创建第二个虚拟目录IISexpress时,第一个虚拟目录指向相同的位置。因此,我有两次相同的应用程序分层共享Web.config 我的问题的解决方案
为了解决这个问题,我只是更改了端口,使以前创建的虚拟目录不再是我的根目录 谢谢@cincura.net。很多时候,我从machine.config文件中查看DbProviderFactorys部分,但没有看到FirebirClient提供程序添加了两次。