相关文章推荐
儒雅的生菜  ·  excel中怎样把分钟14:35:21四舍五 ...·  1 年前    · 
乐观的机器猫  ·  Proxy error: Could ...·  2 年前    · 
鬼畜的雪糕  ·  使用Docker构建nginx容器,并且启动 ...·  2 年前    · 
玩篮球的登山鞋  ·  java:获取一个对象占用内存的大小_wei ...·  2 年前    · 
憨厚的乌冬面  ·  【THM】Encryption-Crypto ...·  2 年前    · 
Code  ›  测试项目测试将无法执行:无法识别的配置节entityFramework开发者社区
https://cloud.tencent.com/developer/ask/sof/103136
含蓄的啄木鸟
2 年前
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
提问
问 测试项目测试将无法执行:无法识别的配置节entityFramework
Stack Overflow用户
提问于 2014-04-10 12:59:05
EN

当我尝试运行我的测试时,我在我的测试项目的app.config中得到以下错误:

Result Message: 
Test method MYTESTPROJ.Repositories.MYREPO.MY_TEST threw exception: 
System.TypeInitializationException: The type initializer for 'System.Data.Entity.Internal.AppConfig' threw an exception. ---> 
System.Configuration.ConfigurationErrorsException: Configuration system failed to initialize ---> 
System.Configuration.ConfigurationErrorsException: Unrecognized configuration section entityFramework. 
(C:\Dev\trunk\MYTESTPROJ\bin\Debug\MYTESTPROJ.dll.config line 20)
Result StackTrace:  
at System.Configuration.ConfigurationSchemaErrors.ThrowIfErrors(Boolean ignoreLocal)
   at System.Configuration.BaseConfigurationRecord.ThrowIfParseErrors(ConfigurationSchemaErrors schemaErrors)
   at System.Configuration.BaseConfigurationRecord.ThrowIfInitErrors()
   at System.Configuration.ClientConfigurationSystem.EnsureInit(String configKey)
 --- End of inner exception stack trace ---
    at System.Configuration.ConfigurationManager.PrepareConfigSystem()
   at System.Configuration.ConfigurationManager.GetSection(String sectionName)
   at System.Configuration.ConfigurationManager.get_ConnectionStrings()
   at System.Data.Entity.Internal.AppConfig..ctor()
   at System.Data.Entity.Internal.AppConfig..cctor()
 --- End of inner exception stack trace ---
    at System.Data.Entity.Internal.AppConfig.get_DefaultInstance()
   at System.Data.Entity.Internal.LazyInternalConnection..ctor(DbContext context, String nameOrConnectionString)
   at System.Data.Entity.DbContext..ctor(String nameOrConnectionString)

这是我的app.config:

    <?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
    <add name="xxxConnection" connectionString="xxx" providerName="System.Data.EntityClient" />
  </connectionStrings>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
<system.data>
    <DbProviderFactories>
      <remove name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" />
      <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.8.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
    </DbProviderFactories>
</system.data>
<entityFramework>
    <providers>
      <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.8.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"></provider>
    </providers>
  </entityFramework>
</configuration>
3 24.3K 0 票数 27
EN
c#
asp.net
entity-framework

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-04-10 21:54:20

您只需在顶部添加configSections区域即可注册该部分(您可能需要更改EF版本)。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <connectionStrings>
    <add name="xxxConnection" connectionString="xxx" providerName="System.Data.EntityClient" />
  </connectionStrings>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
<system.data>
    <DbProviderFactories>
      <remove name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" />
      <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.8.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
    </DbProviderFactories>
</system.data>
<entityFramework>
    <providers>
      <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.8.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"></provider>
    </providers>
  </entityFramework>
</configuration>
票数 65
EN

Stack Overflow用户

发布于 2015-02-05 23:57:54

在更新.net框架4.5.2之后,我遇到了这个问题。似乎更新的.net框架也将EntityFramework版本从5.x.x更新到了6.1.2。

然而,在web.config中,它仍然没有改变。如果我将此值更改为6.1.2以与NuGet程序包管理器中显示的EF版本匹配,则为5.0.0.0。这并没有起到任何作用。然后我展开我的项目引用节点,右键单击EntityFramework,版本显示为6.0.0.0。使用此值而不是6.1.2,一切都将开始工作。

票数 3
EN

Stack Overflow用户

发布于 2015-02-11 03:46:48

也有同样的错误,但我以为我有configSections声明...我错误地将它放在sectionGroup中,而不是configSection中。

错误:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <configSections>
        <section name="quartz" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0,Culture=neutral, PublicKeyToken=b77a5c561934e089" />
            <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
        <sectionGroup name="common">
            <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
      <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
        </sectionGroup>
    </configSections>...

正确:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <configSections>
        <section name="quartz" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0,Culture=neutral, PublicKeyToken=b77a5c561934e089" />
 
推荐文章
儒雅的生菜  ·  excel中怎样把分钟14:35:21四舍五入到15分钟?急!急!_百度知道
1 年前
乐观的机器猫  ·  Proxy error: Could not proxy request - OSCHINA - 中文开源技术交流社区
2 年前
鬼畜的雪糕  ·  使用Docker构建nginx容器,并且启动后不会自动退出 - 远洪 - 博客园
2 年前
玩篮球的登山鞋  ·  java:获取一个对象占用内存的大小_weixin_33812433的博客-CSDN博客
2 年前
憨厚的乌冬面  ·  【THM】Encryption-Crypto 101(加密-密码)-学习 - Hekeats - 博客园
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号