代码优先 - 提供程序未返回ProviderManifestToken字符串

时间:2014-03-26 02:07:37

标签: exception deployment ef-code-first connection-string

我写了一个2层的窗体解决方案;一个是DataAccess,另一个是Windows窗体。 我先使用Code。如果DataAccess Layer在应用程序控制台中运行,则db没有问题。创建架构并插入数据。

但是,当我使用Windows窗体作为初始项目运行解决方案并将DataAccess作为dll引用时,我无法构建数据库。它抛出异常。

我认为app.config文件存在问题,但如果我将DataAccess项目的app.config文件复制到Windows窗体,则无法解决问题。

DataAcces图层的配置文件:

  <?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>
</configuration>

例外:

"first exception for 'System.Data.Entity.Core.ProviderIncompatibleException' in     EntityFramework.dll

Aditional Information: An error occurred while getting provider information from the database. This can be caused by Entity Framework using an incorrect connection string. Check the inner exceptions for details and ensure that the connection string is correct."

内部例外:

{"The provider did not return a ProviderManifestToken string."}

2 个答案:

答案 0 :(得分:1)

问题可能是由于连接字符串中的错误 或者就我而言 SQL服务器服务未运行 通过SQL SERVER COnfiguration Manager手动启动SQL服务

答案 1 :(得分:0)

经过长时间的深度搜索后,我发现解决方案是&#34;清理解决方案&#34;。