Asp.net mvc VS 2017未在适当的可视化设计器中打开.edmx文件

Asp.net mvc VS 2017未在适当的可视化设计器中打开.edmx文件,asp.net-mvc,entity-framework,web,config,edmx,Asp.net Mvc,Entity Framework,Web,Config,Edmx,EF数据库模型(.edmx)文件未在特殊VS EF数据模型设计器中打开。标准XML编辑器正在工作。所有这些都发生在VS2017的win 10(64) 这是EDMX文件的声明 <Edmx Version="3.0" xmlns="http://schemas.microsoft.com/ado/2009/11/edmx"> 这就是我的问题所在 <Schema Namespace="CodeFirstDatabaseSchema" Provider="System.Data

EF数据库模型(.edmx)文件未在特殊VS EF数据模型设计器中打开。标准XML编辑器正在工作。所有这些都发生在VS2017的win 10(64)

这是EDMX文件的声明

<Edmx Version="3.0" xmlns="http://schemas.microsoft.com/ado/2009/11/edmx"> 

这就是我的问题所在

<Schema Namespace="CodeFirstDatabaseSchema" Provider="System.Data.SqlServerCe.4.0" ProviderManifestToken="4.0" Alias="Self" xmlns:customannotation="http://schemas.microsoft.com/ado/2013/11/edm/customannotation" xmlns="http://schemas.microsoft.com/ado/2009/11/edm/ssdl"`>

我有一个问题:

“严重性代码描述项目文件行抑制状态错误175:具有固定名称“System.Data.SqlServerCe.4.0”的ADO.NET提供程序未在计算机或应用程序配置文件中注册,或者无法加载。有关详细信息,请参见内部异常。SmartStore.Web D:\Dev\HMZ\RC5.0\builds\SmartStoreNET-3.x\src\Presentation\SmartStore.Web\App\u Data\EfCache\SmartStore.Data.SmartObjectContext.edmx 5552“

在网上找到的大多数解决方案都不起作用

请大家帮我解决这个问题。太糟糕了,经验太丰富了。我正试着在3-4天内解决这个问题

我尝试了在web上找到的大多数答案:比如更新/重新安装SQL Compact,编辑web.config提供程序工厂,等等

Web配置(MVC 5/.NET 4.7.2)


根据您上面编辑的错误:

“System.Data.SqlServerCe.4.0”未在计算机或应用程序配置文件中注册,或者无法加载

删除
System.Data.SqlServerCe
的dll并再次添加是一个好主意:

  • 安装Microsoft SQL Server Compact 4.0
  • 右键单击“引用”文件夹并选择“添加引用…”选项。 转到左侧窗格中的Assemblys | Extensions选项,然后滚动到右侧窗格中的System.Data.SqlServerCe。(或通过浏览按钮转到安装目录并选择dll)

  • 您可以尝试以下3种解决方案:

  • 首先,您可以使用一个在线XML解析器(例如)来确保XML是正确的。如果存在任何错误,删除该部分将解决问题,并且在清理和重建后将显示模型
  • 右键单击edmx文件->选择打开方式->选择ADO.NET实体数据模型设计器
  • 您还可以通过删除文件并重新生成来修复它
  • 在Visual Studio安装程序上,单击“修改”,选择“单个组件”选项卡,并确保选中“SDK、库和框架”复选框下的“实体框架”。确保重新启动Visual Studio

  • 我说的是第1个选项。注意,这是.edmx中的一行,我遇到了问题,它是整个数据库实体的根?通过删除这一行,我删除了所有DB的实体。有没有办法,如何处理这一行?我可以部分注释一些内容,但保留这一行吗?好的,让我检查一下。但同时,不是吗是否可以从解决方案资源管理器中删除edmx,并再次通过EF数据实体向导将您的连接添加到dB?A.Nadjar不可能。暂时,此时,dB没有连接。是否可以检查“Microsoft SQL Server Compact 4.0“是否正确安装?请抱歉,以何种方式删除.dll System.Data.SqlServerCe?”?使用VS2017引用工具或手动将其从FS文件夹中删除?
     <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.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
        <remove invariant="System.Data.SQLite" />
        <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".NET Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=1.0.111.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" />
      </DbProviderFactories>
      <!-- Add the attribute 'codeConfigurationType' to the 'entityFramework' root element to overwrite the global DbConfiguration -->
      <entityFramework>
        <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlCeConnectionFactory, EntityFramework">
          <parameters>
            <parameter value="System.Data.SqlServerCe.4.0" />
          </parameters>
        </defaultConnectionFactory>
        <providers>
          <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
          <provider invariantName="System.Data.SqlServerCe.4.0" type="System.Data.Entity.SqlServerCompact.SqlCeProviderServices, EntityFramework.SqlServerCompact" />
        </providers>
      </entityFramework>