vb.net - 在应用程序配置文件中找不到名为“ATX_PLSNGEntities”的连接字符串,尽管它包含在内
问题描述
我有两个项目:
第一个 (VTB_Terminliste) 是使用实体框架构建为类库 (.dll)。
第二个是主应用程序,其中包括 VTB_Terminliste 作为 .dll,我想在单击按钮后显示它,例如:
Private Sub btnTerminliste_Click(sender As Object, e As EventArgs) Handles btnTerminliste.Click
Dim l As New VTB_Terminliste.MainView
l.Show()
End Sub
在主应用程序的 App.Config 中,我为我的实体插入连接字符串
<add name="ATX_PLSNGEntities" connectionString="metadata=res://*/DBA_Terminliste.csdl|res://*/DBA_Terminliste.ssdl|res://*/DBA_Terminliste.msl;provider=System.Data.SqlClient;provider connection string="data source=atx-srv-58;initial catalog=ATX_PLSNG;persist security info=True;user id=SomeUser;password=SomePW;MultipleActiveResultSets=True;App=EntityFramework""
providerName="System.Data.EntityClient" />
启动并单击按钮后,btnTerminliste
出现错误“在应用程序配置文件中找不到名为'ATX_PLSNGEntities'的连接字符串”
如果我以 WinForm 的形式启动 VTB_Terminliste 项目,那么一切正常。
这是我的 App.Config 来自项目 VTB_Terminliste 和主应用程序
VTB_Terminliste
<?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">
<section name="DevExpress.LookAndFeel.Design.AppSettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
</configSections>
<applicationSettings>
<DevExpress.LookAndFeel.Design.AppSettings>
<setting name="DefaultAppSkin" serializeAs="String">
<value>Skin/The Bezier</value>
</setting>
<setting name="DefaultPalette" serializeAs="String">
<value>Gloom Gloom</value>
</setting>
<setting name="TouchUI" serializeAs="String">
<value></value>
</setting>
<setting name="TouchScaleFactor" serializeAs="String">
<value></value>
</setting>
<setting name="DirectX" serializeAs="String">
<value>True</value>
</setting>
<setting name="RegisterUserSkins" serializeAs="String">
<value></value>
</setting>
<setting name="FontBehavior" serializeAs="String">
<value></value>
</setting>
<setting name="DefaultAppFont" serializeAs="String">
<value></value>
</setting>
<setting name="DPIAwarenessMode" serializeAs="String">
<value>System</value>
</setting>
</DevExpress.LookAndFeel.Design.AppSettings>
</applicationSettings>
<system.diagnostics>
<sources>
<!-- Dieser Abschnitt definiert die Protokollierungskonfiguration für My.Application.Log -->
<source name="DefaultSource" switchName="DefaultSwitch">
<listeners>
<add name="FileLog" />
<!-- Auskommentierung des nachfolgenden Abschnitts aufheben, um in das Anwendungsereignisprotokoll zu schreiben -->
<!--<add name="EventLog"/>-->
</listeners>
</source>
</sources>
<switches>
<add name="DefaultSwitch" value="Information" />
</switches>
<sharedListeners>
<add name="FileLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" initializeData="FileLogWriter" />
<!-- Auskommentierung des nachfolgenden Abschnitts aufheben und APPLICATION_NAME durch den Namen der Anwendung ersetzen, um in das Anwendungsereignisprotokoll zu schreiben -->
<!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
</sharedListeners>
</system.diagnostics>
<connectionStrings>
<add name="ATX_PLSNGEntities" connectionString="metadata=res://*/DBA_Terminliste.csdl|res://*/DBA_Terminliste.ssdl|res://*/DBA_Terminliste.msl;provider=System.Data.SqlClient;provider connection string="data source=atx-srv-58;initial catalog=ATX_PLSNG;persist security info=True;user id=SomeUser;password=SomePW;MultipleActiveResultSets=True;App=EntityFramework""
providerName="System.Data.EntityClient" />
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
</configuration>
主要应用
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="ATX_DBA_Test_Connection" connectionString="XpoProvider=MSSqlServer;data source=atx-srv-28;user id=sa;password=Zu3545Uz;initial catalog=ATX_DBA_Test;Persist Security Info=true" />
<add name="ATX_PLSNGEntities" connectionString="metadata=res://*/DBA_Terminliste.csdl|res://*/DBA_Terminliste.ssdl|res://*/DBA_Terminliste.msl;provider=System.Data.SqlClient;provider connection string="data source=atx-srv-58;initial catalog=ATX_PLSNG;persist security info=True;user id=SomeUser;password=SomePW;MultipleActiveResultSets=True;App=EntityFramework""
providerName="System.Data.EntityClient" />
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
</configuration>
我希望有人可以帮助我找到解决方案。
解决方案
我解决了在里面添加连接字符串的问题.Context.vb
Partial Public Class ATX_PLSNGEntities
Inherits DbContext
Public Sub New()
MyBase.New("metadata=res://*/DBA_Terminliste.csdl|res://*/DBA_Terminliste.ssdl|res://*/DBA_Terminliste.msl;provider=System.Data.SqlClient;provider connection string='data source=SomeServer;initial catalog=ATX_PLSNG;persist security info=True;user id=SomeUser;password=SomePW;MultipleActiveResultSets=True;App=EntityFramework'")
End Sub
Protected Overrides Sub OnModelCreating(modelBuilder As DbModelBuilder)
Throw New UnintentionalCodeFirstException()
End Sub
Public Overridable Property Terminliste() As DbSet(Of Terminliste)
End Class
推荐阅读
- assembly - 如何解决二元炸弹实验室的第 4 阶段
- python - 如何修复'ValueError:DataFrame 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。何时使用 &
- java - 试图划分颜色来画彩虹甜甜圈
- powershell - Get-Content 使用不同的 Get-ChildItem 产品
- ubuntu - centos 上的 puppet fact 失败但在 ubuntu 中有效
- ios - 没有 Sidekick 的 Nativescript 代码签名
- java - 为 JDBC 使用正确配置的 CLASSPATH 变量是什么样的?
- c++ - 在我的场景中添加一个带有按钮的 scrolabble 窗口
- javascript - Node.js - 重复的 require('path'/'module') 语句
- python - JSON 中的大型日志 - 数据处理和分析