16

任何人在创建网络服务时遇到类似问题?

编译转换:找不到元数据文件'D:\Program Files\VS2013\Common7\Tools..\IDE\Microsoft.Data.Entity.Design.dll' D:\PROJEKTY\apki\ws2\WS\WS\DataModel .tt

错误截图

我尝试再次添加数据模型,重新启动 VS,清理和构建解决方案,创建新项目,删除和添加引用,安装最新版本。我认为在互联网上找到的任何解决方案都不适合我。

有什么建议么?我想将文件粘贴到这个目录中,但想不出那里可能有什么。

4

9 回答 9

26

基于

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\Templates\Includes\EF6.Utility.CS.ttinclude

,代码生成器正在以下位置查找缺失的 DLL:

<#@ assembly name="%VS120COMNTOOLS%..\IDE\EntityFramework.dll" #>
<#@ assembly name="%VS120COMNTOOLS%..\IDE\Microsoft.Data.Entity.Design.dll" #>

我发现环境变量 %VS120COMNTOOLS% 与 Visual Studio 的正确安装路径不兼容,所以我从高级系统属性中更改它并且它工作

于 2013-12-17T00:54:07.793 回答
6
  1. 检查您的安装位置。我将 VS 安装到D:\默认位置以外的其他位置,C:\因此出现错误。
  2. 将“环境变量”修改为您的位置,对我来说这意味着更改 C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\D:\Microsoft Visual Studio 12.0\Common7\Tools\.
  3. 不要忘记在\词尾添加一个。
于 2015-03-20T07:44:41.200 回答
4

我相信在将 VSVS120COMNTOOLS重新安装到不同的驱动器时,VS 没有正确更新变量。请参阅此 SO 线程以获取扩展答案。

于 2013-11-11T18:10:04.457 回答
1

问题在于原来EF6.Utility.CS.ttinclude的文件有错误。即使变量 %VS120COMNTOOLS% 是正确的值,错误仍然会发生。

归咎于以下几行中的两个愚蠢点(%VS120COMNTOOLS% .. \IDE):

<#@ assembly name="%VS120COMNTOOLS%..\IDE\EntityFramework.dll" #>
<#@ assembly name="%VS120COMNTOOLS%..\IDE\Microsoft.Data.Entity.Design.dll" #>

如果这是修复错误的方法不再发生:

<#@ assembly name="%VS120COMNTOOLS%\IDE\EntityFramework.dll" #>
<#@ assembly name="%VS120COMNTOOLS%\IDE\Microsoft.Data.Entity.Design.dll" #>

当然,变量 %VS120COMNTOOLS% 必须具有正确的值。

这个问题很老,但现在答案仍然相关,因为这个错误仍然存​​在,并且在 VS2015 中。命运多舛的文件中的以下几行:

<#@ assembly name="%VS140COMNTOOLS%..\IDE\EntityFramework.dll" #>
<#@ assembly name="%VS140COMNTOOLS%..\IDE\Microsoft.Data.Entity.Design.dll" #>

对不起。

于 2016-02-02T22:38:22.920 回答
1

不知道为什么会这样。我的一位同事在我们正在使用的公共服务器中尝试从模型生成数据库时遇到了这个问题。我在同一台机器上尝试使用我的 PC 登录,它第一次工作,我再次尝试,我得到了同样的错误。我刚刚做了一个

devenv /resetsetting

在 VS 2013 命令提示符下,它起作用了。在我同事的机器上做了同样的事情,它也有效。不确定它会起作用,但可以尝试一下

于 2016-02-19T10:57:10.803 回答
0

这对我有用。

  1. C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\Templates\Includes\EF6.Utility.CS.ttinclude

  2. 使用 Visual Studio 对其进行编辑。

  3. 删除 URL 后的两个点,因此新行如下:

    <#@ assembly name="%VS120COMNTOOLS%\IDE\EntityFramework.dll" #>
    <#@ assembly name="%VS120COMNTOOLS%\IDE\Microsoft.Data.Entity.Design.dll" #>
    
  4. 修复您的环境变量以在 IDE 之前以目录结尾。就我而言

    C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\
    
  5. 重建项目或删除实体框架并重新创建它。

于 2018-02-19T12:47:07.833 回答
0

大家好,我在我正在处理的应用程序中遇到了这个错误:1.恢复实体所在的解决方案/模块,2.删除%VS110COMN% 所以代码看起来像这样

<#@ assembly name="..\IDE\EntityFramework.dll" #>
<#@ assembly name="..\IDE\Microsoft.Data.Entity.Design.dll" #>
于 2019-11-12T07:34:14.363 回答
0

我知道现在回答这个问题已经晚了,但是。

这项工作对我来说是按照以下步骤进行的。

  1. 从现有的 abc.tt 文件中复制代码。
  2. 删除 abc.tt 文件。
  3. 将所有代码再次复制到 ABC.tt 文件中。

复制代码后,只需保存文件并构建解决方案,它也会重新生成完整的 .cs 文件。

于 2020-04-23T06:59:05.970 回答
-1

尝试这个:

  1. 双击 .edmx 模型
  2. 右键单击“实体数据模型设计器”上的任意位置
  3. 点击“从数据库更新模型”
  4. 点击完成
于 2014-12-29T18:19:18.043 回答