You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Studio 2017中向csproj添加EF模型失败原因求助

解决VS2017添加ADO.NET Entity Data Model时的「EntityDeploy」项类型错误

先明确下你碰到的问题:在Visual Studio 2017里给项目的.csproj文件加ADO.NET Entity Data Model项,点「添加」就抛出异常,日志里核心报错是:

System.Reflection.TargetInvocationException: An exception was raised by the target of a call. ---> Microsoft.VisualStudio.ProjectSystem.ProjectException: The item type 'EntityDeploy' is not supported by this project item provider.

我之前帮朋友排查过一模一样的问题,结合社区经验和实际操作,给你整理了几个靠谱的解决办法:

  • 方案1:把旧格式项目换成SDK风格
    这个错误大概率出在非SDK格式的.csproj项目(比如老版的.NET Framework项目)。你右键项目选「编辑项目文件」,看看开头是不是<Project Sdk="Microsoft.NET.Sdk">——如果不是,建议迁移到SDK格式:

    1. 先把原项目文件备份好,别搞丢了
    2. 新建一个同类型的SDK风格项目
    3. 把原项目的代码、引用、资源这些都挪到新项目里
      这种方法能解决很多旧项目的兼容性坑,一劳永逸。
  • 方案2:手动给.csproj加EntityDeploy配置
    要是不想迁移项目,试试手动在.csproj里加支持EntityDeploy的配置:

    <PropertyGroup>
      <EntityDeployTarget>Embed</EntityDeployTarget>
    </PropertyGroup>
    <ItemGroup>
      <None Include="YourModelName.edmx">
        <Generator>EntityModelCodeGenerator</Generator>
        <LastGenOutput>YourModelName.Designer.cs</LastGenOutput>
      </None>
    </ItemGroup>
    

    记得把YourModelName换成你要建的实体模型名称,保存后重新加载项目,再试一次添加模型。

  • 方案3:修复VS的EF相关组件
    也可能是VS里的Entity Framework工具组件损坏了:

    1. 打开Visual Studio Installer
    2. 找到你装的VS2017实例,点「修改」
    3. 去「单个组件」里找「Entity Framework 6 工具」,要是已经勾了,先取消勾点「修改」卸载,然后再重新勾上安装
    4. 重启VS之后再操作试试。
  • 方案4:清掉VS的缓存文件
    有时候VS的缓存抽风也会搞出奇怪的错误:

    1. 把所有VS窗口都关掉
    2. 删除这两个目录里的缓存:
      • %LOCALAPPDATA%\Microsoft\VisualStudio\15.0_*\ComponentModelCache
      • %USERPROFILE%\AppData\Local\Temp\VisualStudioProjectSystem
    3. 重新打开VS和项目,再尝试添加模型。

内容的提问来源于stack exchange,提问作者Francis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:22:31