T4和Edmx冲突 - "输入文件似乎使用此模板不支持的架构版本"

won*_*rld 6 t4 entity-framework

当输入文件是EF5 edmx时,我收到来自T4的警告.

运行转换:输入文件似乎使用此模板不支持的架构版本.这可能会导致编译错误.请使用"添加新生成的项目"添加更新的模板.

知道为什么会这样吗?

Mat*_*att 1

当我将旧项目升级到.NET Framework 4.7 时,我曾经遇到过这个问题。

如果这里也是这种情况,那么该*.tt文件现在已被弃用。它是一个 T4 生成器文件,它将创建访问实体对象所需的 C# 源代码,并且需要替换。执行以下操作来更新它(假设您使用数据库优先方法):

  1. 删除当前(已弃用)*.tt文件(将其从项目中排除并删除)
  2. 双击*.edmx解决方案资源管理器中的文件将其打开。数据类图正在打开。
  3. 右键单击数据类可视化中的可用空间(您的 EF 数据模型),然后在上下文菜单中选择“从数据库更新模型...”
  4. 指定并测试数据连接(确保成功)

现在后台发生的是一个新的*.tt会生成一个新文件。完成后,重建您的解决方案,错误就会消失。

但请注意,之后您可能需要进行更多更改,因为新版本的 EF 中出现了一些重大更改,我已在此处进行了描述