Отказ от ответственности: Я новичок в каждой части технологии, которую я использую здесь, поэтому, простите меня, пожалуйста, если у меня отсутствует очевидное. .Компиляция преобразования: Тип или имя пространства имен не удалось найти при запуске TypeLite.tt
Я начинаю возиться с MVC 4 с Entity Framework 5 и веб-API, и я хочу использовать TypeScript с Knockout для создания некоторых элементов интерфейса. Я нашел проект TypeLite, который возьмет мою модель EF и сгенерирует интерфейсы TypeScript для меня, чтобы все было «сильно» напечатано.
Мое решение состоит из 3-х проектов:
- MyApp.dll = Содержит все MVC работы
- MyApp.Domain.dll = Содержит доменную модель EF
- MyApp.WebAPI.dll = Содержит WebAPI работу
я добавил ссылку TypeLite к проекту MyApp (через NuGet), и модифицировал TypeLite.tt следующим образом:
<#@ template debug="false" hostspecific="True" language="C#" #>
<#@ assembly name="$(SolutionDir)packages\TypeLite.0.8.2\lib\net40\TypeLite.dll" #>
<#@ assembly name="$(TargetDir)$(TargetFileName)" #>
<#@ import namespace="TypeLite" #>
<#@output extension=".d.ts"#>
<#= TypeScript.Definitions()
.For<MyApp.Domain.Models.Country>()
.For<MyApp.Domain.Models.State>()
.For<MyApp.Domain.Models.Address>()
.For<MyApp.Domain.Models.Contact>() #>
Когда я "Выполнить пользовательский инструмент" на TypeLite.tt я получаю ошибку:
Compiling transformation: The type or namespace name 'MyApp' could not be found (are you missing a using directive or an assembly reference?)
Я попытался добавить строку (ы):
<#@ import namespace="MyApp" #>
<#@ import namespace="MyApp.Domain" #>
<#@ import namespace="MyApp.Domain.Models" #>
Он по-прежнему продолжает давать Мне тоже такая же ошибка. Я уверен, что мне не хватает чего-то тривиального, и я все еще выбираю тысячи статей, которые доктор Google находит для меня ссылкой на поиск этого, но я надеюсь, что кто-то здесь поможет мне найти свет.
Спасибо за любую помощь ...
Спасибо Lukas! Измененный код, чтобы решить мой Проблема: <# @ assembly name = "$ (SolutionDir) MyApp.Domain \ bin \ $ (ConfigurationName) \ MyApp.Domain.dll" #> – ThinkingCap
Добавление этого в T4 сработало для меня <# @ assembly name = "$ (TargetPath) "#> –