我有两个与同一个数据库交互的 exe。一个是主应用程序,另一个是更新程序应用程序(更新主应用程序)。我试图将安装包限制在一个配置文件中。IE 我希望更新程序应用程序使用主应用程序配置文件。
我能够像这样提取连接字符串并创建数据库上下文:
string entityConnectionString = (entitySettings == null) ? "" : entitySettings.ConnectionString;
var ecb = new EntityConnectionStringBuilder(entityConnectionString);
var ec = new EntityConnection(ecb.ToString());
但是,如果我不包括下面的更新程序应用程序的配置,我会收到错误The specified store provider cannot be found in the configuration, or is not valid.
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SqlServerCe.4.0"/>
<add name="Microsoft SQL Server Compact Data Provider 4.0" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.1, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
</DbProviderFactories>
</system.data>
如何告诉 Entity Framework 或应用程序使用其他配置文件或绕过此错误消息?为更新程序 exe 添加配置文件不是一种选择,因为老板想要一个配置文件。(我们希望能够远程更新配置文件并添加多个使其更加复杂。)