这是我的项目文件csproj
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net4.6</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="EntityFramework" Version="6.2.0" />
</ItemGroup>
</Project>在VisualStudio 2017中,我尝试添加项目"ADO.NET实体数据模型“。当按下Add按钮对我抛出一个异常..。

在日志文件中,我得到了以下内容:
===================== 2018-02-21 15:23:47可恢复System.Reflection.TargetInvocationException:调用的目标引发了异常。-这个项目项目提供程序不支持项目类型'EntityDeploy‘。在Microsoft.VisualStudio.ProjectSystem.ProjectErrorUtilities.ThrowProjectExceptionHelper(Exception innerException,String unformattedMessage,Object[] args) at Microsoft.VisualStudio.ProjectSystem.ProjectErrorUtilities.ThrowProjectException(String message,Object arg0)àMicrosoft.VisualStudio.ProjectSystem.CpsProjectItem`1.d__25.MoveNext()
发布于 2018-03-22 05:44:42
这个问题描述的异常与日志包含的异常相同:
System.Reflection.TargetInvocationException:调用的目标引发了异常。-这个项目项目提供程序不支持项目类型'EntityDeploy‘。
不幸的是,它没有一个直接的解决办法。
总的来说,您不应该期望EF工具以新的csproj格式顺利运行。在讨论存储库中有一个EntityFramework6,它收集一些已知的问题,用于迁移和EF工具。EF团队有一项明确的声明,我们不应该期望这些问题能够得到解决:
在翻转方面,在EF6核心应用程序中使用ASP.NET是可能的,但需要解决办法。例如,在这种情况下,将模型保存在单独的带有传统项目文件的.NET框架库中,并在处理迁移时从使用新项目系统的解决方案中卸载任何项目。 我们不愿承诺让EF6迁移与新的项目系统完全兼容,因为我们认为这将涉及一项重大的投资,这将阻碍我们在主要战略上的进展,但也许我们可以做一些成本较低的事情来减少解决方案的摩擦,例如,让它使您仍然需要将EF6模型放在一个单独的项目中,但至少您不需要卸载其他项目。
关于你的问题,我可以提出以下建议:
好吧,这样的建议可能不适合完美主义者,但是(同样)新的csproj格式还没有被所有现有的VS工具完全采用,现在还不知道它发生的时候。
发布于 2021-07-05 08:48:43
EF6 6.4.x现在支持Microsoft.Net.SDK风格的项目。
您应该注意到,EF6仍然不知道AutoGenerateBindingRedirects标志。
当你跑的时候
Add-Migrations Add_Customer_Table如果您得到"System.IO.FileLoadException“,则应该手动将绑定重定向到app.config中。
https://stackoverflow.com/questions/48915285
复制相似问题