System.InvalidOperationException:没有名为' SALESDBEntities'的连接字符串。可以在应用程序配置文件中找到

时间:2017-03-31 16:54:51

标签: c# entity-framework

这很令人困惑。

我有一个主项目和类库的解决方案。我的所有DbContex都都在类库中。我手动将上下文的连接字符串从类库复制到主项目。我将这个设置用于许多项目,没有问题,除了一个项目。

类库的app.config:

mask = np.in1d(df.index.year, np.arange(2005, 2015))
print (df[mask].groupby(df.index.strftime('%m-%d')).max())
       Temperature
03-20           51
08-15          228
12-31          -32

主项目的app.config:

<?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" />
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
      <section name="Common_Code.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    </sectionGroup>
  </configSections>
  <connectionStrings>
    <add name="SALESDBEntities" connectionString="metadata=res://CommonCode/Datasets.Contexts.Sales_Data.csdl|res://CommonCode/Datasets.Contexts.Sales_Data.ssdl|res://CommonCode/Datasets.Contexts.Sales_Data.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=server2\SQLEXPRESS;initial catalog=SALESDB;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
    <add name="DESIGNDBEntities" connectionString="metadata=res://CommonCode/Datasets.Contexts.Design_Data.csdl|res://CommonCode/Datasets.Contexts.Design_Data.ssdl|res://CommonCode/Datasets.Contexts.Design_Data.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=server2\SQLEXPRESS;initial catalog=DESIGNDB;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
    <add name="PRODDBEntities" connectionString="metadata=res://CommonCode/Datasets.Contexts.Manufacturing.Manufacturing_Data.csdl|res://CommonCode/Datasets.Contexts.Manufacturing.Manufacturing_Data.ssdl|res://CommonCode/Datasets.Contexts.Manufacturing.Manufacturing_Data.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=server2\SQLEXPRESS;initial catalog=PRODDB;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
    <add name="QCDBEntities" connectionString="metadata=res://CommonCode/Datasets.Contexts.QC_Data.csdl|res://CommonCode/Datasets.Contexts.QC_Data.ssdl|res://CommonCode/Datasets.Contexts.QC_Data.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=S612SRVR1\SQLEXPRESS;initial catalog=QCDB;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>
  <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>

它们完全相同。

根据我的nLog,我得到的例外是:

  

System.InvalidOperationException:没有名为&#39; SALESDBEntities&#39;的连接字符串可以在应用程序配置文件中找到。

我不能为我的生活找出为什么这个例外在这个项目中不断发生。两个连接字符串完全相同,并且可以在引用同一个类库的其他项目上工作。

1 个答案:

答案 0 :(得分:1)

我找到了解决自己问题的方法。

我注意到app.configappname.exe.config文件的大小不同,并且不包含相同的内容。

我必须清除bin/Debugobj/Debug目录才能最终匹配文件。