Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用web.config删除DbProviderFactorys?_C#_Asp.net_Sql_Firebird - Fatal编程技术网

C# 如何使用web.config删除DbProviderFactorys?

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

我的ASP.NET MVC应用程序使用SQLSERVER 2012 Expresss进行安全保护,但我的ASP.NET MVC应用程序存在问题,这与我的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应用程序

之后,出于测试目的,我将此选项更改为在同一域中的更深层文件夹中工作:

我添加了名称并单击“创建虚拟目录”。应用程序运行了,但给了我类似的问题

当我创建第二个虚拟目录IISexpress时,第一个虚拟目录指向相同的位置。因此,我有两次相同的应用程序分层共享Web.config

我的问题的解决方案


为了解决这个问题,我只是更改了端口,使以前创建的虚拟目录不再是我的根目录

谢谢@cincura.net。很多时候,我从machine.config文件中查看DbProviderFactorys部分,但没有看到FirebirClient提供程序添加了两次。