“System.Data.Entity.Internal.AppConfig”的类型初始值设定项为 Windows XP
本文关键字:XP Windows 类型 Entity Data System Internal AppConfig | 更新日期: 2023-09-27 18:32:26
我的WPF应用程序在Windows 7上运行良好,但在Windows XP上运行时会抛出上述错误。我正在使用ENtity框架6.1.1
App.xaml 是
<Application.Resources>
<main:MainConverter x:Key="MainVerter"/>
<Style x:Key="DetailHead1Style" TargetType="TextBlock">
<Setter Property="FontSize" Value="20"/>
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="Foreground" Value="DarkSlateGray"/>
<Setter Property="Opacity" Value="0.8"/>
<Setter Property="FontStyle" Value="Italic"/>
<Setter Property="Margin" Value="6,2,6,2"/>
</Style>
<Style x:Key="DetailsOuterGridStyle" TargetType="Grid">
<Setter Property="Background" Value="White"/>
</Style>
</Application.Resources>
内部例外是
System.Configuration.ConfigurationErrorsException: An error occurred creating the configuration section handler for entityFramework: Request failed.
(Q:'devnet10'SBD.CartBrowser'SBD.CartBrowser'bin'Debug'SBD.FlightControl.exe.Config line 23) ---> System.Security.SecurityException: Request failed.
at System.RuntimeMethodHandle.PerformSecurityCheck(Object obj, RuntimeMethodHandleInternal method, RuntimeType parent, UInt32 invocationFlags)
at System.RuntimeMethodHandle.PerformSecurityCheck(Object obj, IRuntimeMethodInfo method, RuntimeType parent, UInt32 invocationFlags)
at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.ConstructorInfo.Invoke(Object[] parameters)
at System.Configuration.TypeUtil.InvokeCtorWithReflectionPermission(ConstructorInfo ctor)
at System.Configuration.RuntimeConfigurationRecord.RuntimeConfigurationFactory.CreateSectionImpl(RuntimeConfigurationRecord configRecord, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentConfig, ConfigXmlReader reader)
at System.Configuration.RuntimeConfigurationRecord.RuntimeConfigurationFactory.CreateSectionWithRestrictedPermissions(RuntimeConfigurationRecord configRecord, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentConfig, ConfigXmlReader reader)
at System.Configuration.RuntimeConfigurationRecord.CreateSection(Boolean inputIsTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentConfig, ConfigXmlReader reader)
at System.Configuration.BaseConfigurationRecord.CallCreateSection(Boolean inputIsTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentConfig, ConfigXmlReader reader, String filename, Int32 line)
app.config 包含正确的连接字符串。 在XP上可以有不同的解释吗?
[更新]初始化连接时代码失败。
var connect = new CartConnect(constr);
[更新]
app.config 是
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
</configSections>
<connectionStrings>
<add name="CartConnect_HAPPY4" connectionString="metadata=res://*/Edm.CartModel.csdl|res://*/Edm.CartModel.ssdl|res://*/Edm.CartModel.msl;provider=System.Data.SqlClient;provider connection string="Database=mydatabase;Server=Server15'SQLExpress;Integrated Security=False;User=mylogin;Password=mypassword;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient"/>
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="v11.0"/>
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
</providers>
</entityFramework>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>
我使用
private CartConnect MakeConnect()
{
string key = string.Format("CartConnect_{0}", Environment.MachineName.ToUpperInvariant());
string constr = ConfigurationManager.ConnectionStrings[key].ConnectionString;
var connect = new CartConnect(constr); // fails here
connect.Configuration.LazyLoadingEnabled = false;
connect.Configuration.ProxyCreationEnabled = false;
return connect;
}
我查看了有关"为实体框架创建配置节处理程序时出错"的其他问题
我尝试使用 NuGet 删除和重新添加实体框架
[更新]
谢谢埃里克。在本地复制文件是有效的。 我想知道是否有办法让它在网络上工作?
让我想起了我在这个问题上关于 regasm 的问题
Q: 驱动器是本地的吗?如果没有,请尝试从本地驱动器运行应用 - 错误消息指示存在阻止您从网络文件夹运行的安全问题。