这很令人困惑。
我有一个主项目和类库的解决方案。我的所有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="data source=server2\SQLEXPRESS;initial catalog=SALESDB;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" 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="data source=server2\SQLEXPRESS;initial catalog=DESIGNDB;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" 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="data source=server2\SQLEXPRESS;initial catalog=PRODDB;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" 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="data source=S612SRVR1\SQLEXPRESS;initial catalog=QCDB;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" 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;的连接字符串可以在应用程序配置文件中找到。
我不能为我的生活找出为什么这个例外在这个项目中不断发生。两个连接字符串完全相同,并且可以在引用同一个类库的其他项目上工作。
答案 0 :(得分:1)
我找到了解决自己问题的方法。
我注意到app.config
和appname.exe.config
文件的大小不同,并且不包含相同的内容。
我必须清除bin/Debug
和obj/Debug
目录才能最终匹配文件。