что и где я могу найти MvcTextTemplateHost - PullRequest
4 голосов
/ 12 июня 2011

Я хотел бы знать, что это MvcTextTemplateHost. У меня есть это в моем create.tt, но я не могу найти его в папке bin (поиск с помощью объекта просмотра). Я прочитал и узнал, что это в моем VisualStudio.Extensions.web.dll, но я не могу найти эту DLL

Я прочитал это

T4 Ссылки для «MvcTextTemplateHost» и «VisualStudio» .

Я просто хотел бы знать, какими свойствами и методами обладает этот класс. Я хотел бы текстовый редактор T4. Я установил несколько, но ничего не дает мне intellisense для этого класса спасибо.

Ответы [ 4 ]

6 голосов
/ 28 июня 2011

MvcTextTemplateHost является «Хостом» MVC 3.0 (Add> View и Add> Controller). Диалог и поддерживает взаимодействие с пользователем:

, поэтому он недоступен за пределами инструмента.Когда вы предоставляете шаблон «Scaffolding» (файл .tt), менеджер передает эти пользовательские данные хосту, чтобы хост имел эти свойства.

Класс упакован в: ($ VSDIR) \ Common7 \ IDE \ Microsoft.VisualStudio.Web.Mvc.3.01.dll

Надеюсь, это поможет.

1 голос
/ 11 февраля 2012

В моем случае решение было. добавьте эти строки в 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" #>

удачи

0 голосов
/ 18 апреля 2013

У меня была такая же проблема после установки шаблонов T4 для изменения автоматически сгенерированных страниц CRUD в Visual Studio, описанных в этом вопросе: Как создать собственный шаблон скаффолда в ASP.NET MVC 3?

Решением для меня было просто закрыть Visual Studio 2012 и сказать «Да», чтобы сохранить решение.Когда я снова открыл его, все скомпилировалось снова, волшебным образом.Комментарии к этому ответу предполагают, что это сработало для подобных ситуаций: https://stackoverflow.com/a/13816299/176877

0 голосов
/ 17 января 2013

Вы можете найти все файлы .tt в направлении установки VS, например, чтобы получить файлы .tt MVC4, перейдите по адресу: ($ 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 
...
...