【问题标题】:T4MVC 3.7.4 doesn't work in VS 2013 (in VS 2012 it is working just fine)T4MVC 3.7.4 在 VS 2013 中不起作用(在 VS 2012 中它工作得很好)
【发布时间】:2013-12-29 05:49:54
【问题描述】:

我在 VS 2013 中创建了一个新的 ASP.NET MVC Web 应用程序项目,并通过 nuget 安装了 T4MVC 包。当我尝试在操作菜单中为 T4MVC.tt 运行自定义工具时,我在下面收到此错误。 T4MVC.tt 中的第 792 行如下所示:

if (method.Type.TypeKind != vsCMTypeRef.vsCMTypeRefCodeType || !(method.Type.CodeType is CodeClass2)) continue;

Error   1   Running transformation: System.Runtime.InteropServices.COMException (0x80004005): Unspecified error (Exception from HRESULT: 0x80004005 (E_FAIL))
   at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
   at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32 errorCode)
   at Microsoft.VisualStudio.CSharp.Services.Language.CodeModel.CCodeFunction.get_Type()
   at EnvDTE80.CodeFunction2.get_Type()
   at Microsoft.VisualStudio.TextTemplating98C322A13A6BCC1DAF8B2CBDB87780CF395EE5EDAD72B82A75D505BDDC8999456241B0D6A9EEE4B4EDBBFC85FFB857E4BED539824B09260C2453F2B9684ABF73.GeneratedTextTransformation.ProcessControllerActionMethods(ControllerInfo controllerInfo, CodeClass2 current) in c:\Users\Sergey\Documents\Visual Studio 2013\Projects\WebApplication3\WebApplication3\T4MVC.tt:line 792
   at Microsoft.VisualStudio.TextTemplating98C322A13A6BCC1DAF8B2CBDB87780CF395EE5EDAD72B82A75D505BDDC8999456241B0D6A9EEE4B4EDBBFC85FFB857E4BED539824B09260C2453F2B9684ABF73.GeneratedTextTransformation.ProcessControllerType(CodeClass2 type, AreaInfo area, DateTime controllerLastWriteTime) in c:\Users\Sergey\Documents\Visual Studio 2013\Projects\WebApplication3\WebApplication3\T4MVC.tt:line 693
   at Microsoft.VisualStudio.TextTemplating98C322A13A6BCC1DAF8B2CBDB87780CF395EE5EDAD72B82A75D505BDDC8999456241B0D6A9EEE4B4EDBBFC85FFB857E4BED539824B09260C2453F2B9684ABF73.GeneratedTextTransformation.ProcessControllersRecursive(ProjectItem projectItem, AreaInfo area) in c:\Users\Sergey\Documents\Visual Studio 2013\Projects\WebApplication3\WebApplication3\T4MVC.tt:line 625
   at Microsoft.VisualStudio.TextTemplating98C322A13A6BCC1DAF8B2CBDB87780CF395EE5EDAD72B82A75D505BDDC8999456241B0D6A9EEE4B4EDBBFC85FFB857E4BED539824B09260C2453F2B9684ABF73.GeneratedTextTransformation.ProcessControllersRecursive(ProjectItem projectItem, AreaInfo area) in c:\Users\Sergey\Documents\Visual Studio 2013\Projects\WebApplication3\WebApplication3\T4MVC.tt:line 610
   at Microsoft.VisualStudio.TextTemplating98C322A13A6BCC1DAF8B2CBDB87780CF395EE5EDAD72B82A75D505BDDC8999456241B0D6A9EEE4B4EDBBFC85FFB857E4BED539824B09260C2453F2B9684ABF73.GeneratedTextTransformation.ProcessAreaControllers(ProjectItems areaFolderItems, AreaInfo area) in c:\Users\Sergey\Documents\Visual Studio 2013\Projects\WebApplication3\WebApplication3\T4MVC.tt:line 591
   at Microsoft.VisualStudio.TextTemplating98C322A13A6BCC1DAF8B2CBDB87780CF395EE5EDAD72B82A75D505BDDC8999456241B0D6A9EEE4B4EDBBFC85FFB857E4BED539824B09260C2453F2B9684ABF73.GeneratedTextTransformation.ProcessArea(ProjectItems areaFolderItems, String name) in c:\Users\Sergey\Documents\Visual Studio 2013\Projects\WebApplication3\WebApplication3\T4MVC.tt:line 576
   at Microsoft.VisualStudio.TextTemplating98C322A13A6BCC1DAF8B2CBDB87780CF395EE5EDAD72B82A75D505BDDC8999456241B0D6A9EEE4B4EDBBFC85FFB857E4BED539824B09260C2453F2B9684ABF73.GeneratedTextTransformation.ProcessAreas(Project project) in c:\Users\Sergey\Documents\Visual Studio 2013\Projects\WebApplication3\WebApplication3\T4MVC.tt:line 541
   at Microsoft.VisualStudio.TextTemplating98C322A13A6BCC1DAF8B2CBDB87780CF395EE5EDAD72B82A75D505BDDC8999456241B0D6A9EEE4B4EDBBFC85FFB857E4BED539824B09260C2453F2B9684ABF73.GeneratedTextTransformation.PrepareDataToRender(TextTransformation tt) in c:\Users\Sergey\Documents\Visual Studio 2013\Projects\WebApplication3\WebApplication3\T4MVC.tt:line 522
   at Microsoft.VisualStudio.TextTemplating98C322A13A6BCC1DAF8B2CBDB87780CF395EE5EDAD72B82A75D505BDDC8999456241B0D6A9EEE4B4EDBBFC85FFB857E4BED539824B09260C2453F2B9684ABF73.GeneratedTextTransformation.TransformText() in c:\Users\Sergey\Documents\Visual Studio 2013\Projects\WebApplication3\WebApplication3\T4MVC.tt:line 40   c:\Users\Sergey\Documents\Visual Studio 2013\Projects\WebApplication3\WebApplication3\T4MVC.tt  792 1   WebApplication3

【问题讨论】:

    标签: asp.net-mvc visual-studio-2013 t4mvc


    【解决方案1】:

    一些有助于调查的问题/建议:

    • 您的解决方案是完全未修改的新 MVC5 项目,还是有您的一些更改?
    • 即使在重新启动 VS 之后,这种情况是否始终如一?
    • 你看到我的sample solution 有同样的问题吗?

    【讨论】:

    • 在另一台 PC 上使用示例解决方案对其进行了测试,它在 VS2013 中按预期工作。由于某些未知原因,它在第一次尝试时不起作用,但是当我卸载 T4MVC 并通过 NuGet 再次安装它时,我能够重新运行它而没有任何问题。它也适用于一个新项目。谢谢你,大卫!
    • 奇怪。我认为这些是某种 VS 故障,它处于不良状态,并且对象模型在不应该抛出时抛出。无论如何,很高兴你现在可以出发了!
    • 我们面临着类似的问题。我们的解决方案,在 TFS 中的行为方式相同,但卸载/重新安装对我们不起作用:S
    • @AnžeVodovnik:您是否也使用示例解决方案进行复制?
    • @DavidEbbo 不,它只发生在一个开发人员的机器上,关键数据似乎是解决方案需要连接到 TFS。如果我们把它离线,它似乎可以工作。
    猜你喜欢
    • 2015-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多