什么是和我在哪里可以找到MvcTextTemplateHost
我想知道这是什么MvcTextTemplateHost。我在我的create.tt中有这个,但我无法在我的bin文件夹中找到它(使用对象查看器进行搜索)。我读了,发现它在我的 VisualStudio.Extensions.web.dll但我不能找到这个dll什么是和我在哪里可以找到MvcTextTemplateHost
我读过这个
T4 References for 'MvcTextTemplateHost' and 'VisualStudio'。
我只想知道这个类有什么属性和方法。我很喜欢t4文本编辑器。我安装了一些,但没有给我这个类的智能感谢,谢谢。
MvcTextTemplateHost是MVC 3.0(添加>查看并添加>控制器)对话框的“主机”和维护用户的交互:
所以它不是工具的使用之外。当您提供“脚手架”模板(.tt文件)时,管理员将这些用户输入传递给主机,以便主机具有这些属性。
类封装在: ($ VSDIR)\ Common7 \ IDE \ Microsoft.VisualStudio.Web.Mvc.3.01.dll
希望它能帮助。
在我的情况下,解决方案是。添加这些线连接controllerWithContext.tt
<#@ assembly name="C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Microsoft.VisualStudio.Web.Mvc.3.01.dll" #>
旁边:
<#@ import namespace="System.Reflection" #>
前:
<#@ import namespace="Microsoft.VisualStudio.Web.Mvc.Scaffolding.BuiltIn" #>
好运
您可以在安装VS方向上的所有文件.TT ,例如以获得MVC4 .tt文件,请转到:($ VSDir)\ Common7 \ IDE \ ItemTemplates \ CSharp \ Web \ MVC 4 \ CodeTemplates
要获得MvcTextTemplateHost的属性列表,因为它们是动态的,可以将下面的代码添加到您的.TT文件:
<#
Type myType = mvcHost.GetType();
IList<PropertyInfo> props = new List<PropertyInfo>(myType.GetProperties());
foreach (PropertyInfo prop in props)
{
#>
<#= prop.Name #>
<#
}
#>
我跑了它,因为我创造MVC4列表视图,而一些属性,这些属性上来是:
ViewName
IsPartialView
IsContentPage
ReferenceScriptLibraries
AutoEventWireup
MasterPageFile
...
我安装T4模板修改后有同样的问题Visual Studio的自动生成的这个问题描述CRUD网页:How do I create my own Scaffold Template in ASP.NET MVC 3?
对我来说,解决方案只是关闭Visual Studio 2012并且说是保存解决方案。当我重新打开它时,神奇地再次编译好了。对这个答案的意见表明这适用于类似的情况:https://stackoverflow.com/a/13816299/176877
相关:http://stackoverflow.com/questions/1045066/mvctexttemplatehost-not-found – 2013-04-17 23:19:07