从数据库刷新EntityFramework 6 .1模型时,对VS120COMNTOOLS的正确引用会丢失

时间:2014-08-09 18:59:43

标签: entity-framework visual-studio-2013

我已尝试使用Visual Studio 2013命令提示符手动将变量VS120COMNTOOLS设置为正确位置的先前解决方案。然后我开始使用' devenv'命令。

当Visual Studio打开并尝试构建我的项目时,我没有得到原始错误,指出找不到所需的EntityFramework DLL。相反,我在DBModel.cs和Model.context.cs中遇到错误。在每个文件中都有一行' ErrorGeneratingOutput'

我按如下方式锁定循环。

  1. 我从数据库更新模型(刷新或添加新表)
  2. 构建无法发生以下错误。
  3. 主机在尝试解析程序集引用时抛出异常

    '%VS120COMNTOOLS%..\IDE\EntityFramework.dll'. The transformation will not be run. The following Exception was thrown:
    System.ArgumentException: Illegal characters in path.
       at System.IO.Path.CheckInvalidPathChars(String path, Boolean checkAdditional)
       at System.IO.Path.IsPathRooted(String path)
       at Microsoft.VisualStudio.TextTemplating.VSHost.TextTemplatingService.ResolveAssemblyReference(String assemblyReference)
       at Microsoft.VisualStudio.TextTemplating.Engine.ResolveAssemblyReferences(ITextTemplatingEngineHost host, TemplateProcessingSession session) C:\tmp\PatternSpyGUI\PatternSpyGUI\Model.tt 0   0   PatternSpyGUI
    
    1. 我退出VS并使用命令提示符正确设置VS120COMNTOOLS并启动VS。

    2. 现在,当我尝试构建时,我在DBModel.cs和Model.context.cs中得到上述错误。

    3. 我怎样才能摆脱这种局面?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。根据在线说明,我运行命令来更改VS120COMNTOOLS的位置并收到相同的错误。事实证明我在引号中包含了这条路径。运行相同的命令没有引号如下,为我修复了问题。

设置VS120COMNTOOLS = C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ Common7

我的edmx文件似乎在那之后工作。