none
错误_1_正在运行转换: 请用要从其进行生成的 .edmx 文件的实际名称覆盖替换标记“$edmxInputFile$”。 RRS feed

答案


  • .tt文件是使用的T4模板(Text Template Transformation Toolkit),Context类和实体类的.cs或.vb文件都是通过这个模板来生成的。

    如果直接在在项目上添加EntityObject生成器的话,它本身并不知道.tt文件对应的是哪个.edmx文件。在这里$edmxInputFile$相当于一个未定义的变量,需要你手动修改。

    如果直接在设计器中打开.edmx文件并生成EntityObject的话,.tt文件会很明确地知道它对应的是哪个.edmx文件,$edmxInputFile$会被自动替换成.edmx文件的名称,因此也就不需要那额外的一步了。


    Chester Hong
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help

    2013年7月3日 7:40
    版主

全部回复

  • 你好,

    正如这个错误本身说的一样。你需要把$edmxInputFile$替换为.edmx文件的实际名称,这样T4模板才能正确地生成实体类和Context。

    不过,你也可以在设计器中打开.edmx文件,右击并选择"Add Code Generation Item",然后再选择ADO.NET EntityObject生成器。


    Chester Hong
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help

    2013年7月1日 7:07
    版主
  • 你好,十分感谢您的回答,我想问一下,是什么原因导致这样的问题出现的
    2013年7月2日 12:50

  • .tt文件是使用的T4模板(Text Template Transformation Toolkit),Context类和实体类的.cs或.vb文件都是通过这个模板来生成的。

    如果直接在在项目上添加EntityObject生成器的话,它本身并不知道.tt文件对应的是哪个.edmx文件。在这里$edmxInputFile$相当于一个未定义的变量,需要你手动修改。

    如果直接在设计器中打开.edmx文件并生成EntityObject的话,.tt文件会很明确地知道它对应的是哪个.edmx文件,$edmxInputFile$会被自动替换成.edmx文件的名称,因此也就不需要那额外的一步了。


    Chester Hong
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help

    2013年7月3日 7:40
    版主
  • 十分感谢您的回答,受教了
    2013年7月4日 10:28
  • 我遇到一樣的問題,但是我是用EF 6 DbContext,將$edmxInputFile$取代為@"Model1.edmx",但是Model1.edmx還是沒有生成。

    const string inputFile = @"Model1.edmx";

    反而出現以下的錯誤訊息:

    嚴重性 程式碼 說明 專案 檔案 隱藏項目狀態
    錯誤 正在執行轉換: System.Reflection.TargetInvocationException: 引動過程的目標傳回例外狀況。 ---> System.IO.FileNotFoundException: 找不到檔案

    Server stack trace: 
       於 Microsoft.VisualStudio.TextTemplating.VSHost.TextTemplatingService.ResolvePath(String path)
       於 System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
       於 System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg)

    Exception rethrown at [0]: 
       於 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
       於 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
       於 Microsoft.VisualStudio.TextTemplating.VSHost.TextTemplatingService.ResolvePath(String path)
       --- 內部例外狀況堆疊追蹤的結尾 ---
       於 System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
       於 System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
       於 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
       於 Microsoft.VisualStudio.TextTemplating2A9C526C0F1AD7A8FCB961528CBA7D58919811C05632EE113995F13518CDB84F3207D57B04F7172FC7C9D2E9F7267AF662F901A76D505E401BD56253BFFD23C8.GeneratedTextTransformation.DynamicHost.ResolvePath(String path)
       於 Microsoft.VisualStudio.TextTemplating2A9C526C0F1AD7A8FCB961528CBA7D58919811C05632EE113995F13518CDB84F3207D57B04F7172FC7C9D2E9F7267AF662F901A76D505E401BD56253BFFD23C8.GeneratedTextTransformation.EdmMetadataLoader.CreateEdmItemCollection(String sourcePath)
       於 Microsoft.VisualStudio.TextTemplating2A9C526C0F1AD7A8FCB961528CBA7D58919811C05632EE113995F13518CDB84F3207D57B04F7172FC7C9D2E9F7267AF662F901A76D505E401BD56253BFFD23C8.GeneratedTextTransformation.TransformText() eBook.csharp D:\eBookHis5Test\eBook.CSharp\Model1.tt 1



    • 已编辑 akira32 2018年1月30日 0:24
    2018年1月30日 0:22