编译转换:在运行TypeLite.tt时找不到类型或命名空间名称
Compiling transformation: The type or namespace name could not be found when running TypeLite.tt
免责声明:我在这里使用的几乎每一项技术都是新手,所以如果我错过了显而易见的,请原谅我…
我开始混淆MVC 4与实体框架5和Web API,我想使用TypeScript与Knockout做一些UI的东西。我找到了TypeLite项目,它将采用我的EF模型并为我生成TypeScript接口,以便所有内容都是"强"类型的。
我的解决方案包括三个项目:
- MyApp.dll =包含所有MVC工作 MyApp.Domain.dll =包含EF域模型
- MyApp.WebAPI.dll =包含WebAPI工作
我将TypeLite引用添加到MyApp项目中(通过NuGet),并修改了TypeLite。
<#@ 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。我得到错误:
正在编译转换:找不到类型或命名空间名称'MyApp'(您是否缺少using指令或程序集引用?)
我已经尝试添加行:
<#@ import namespace="MyApp" #>
<#@ import namespace="MyApp.Domain" #>
<#@ import namespace="MyApp.Domain.Models" #>
它仍然给我同样的错误。我确信我错过了一些微不足道的东西,我仍然在谷歌博士为我找到的数千篇文章中挑选参考这个搜索,但我希望这里有人能帮助我找到光明。
驱动TypeScript接口生成的T4模板引擎,作为一个单独的进程运行。WebAPI项目引用了MyApp.Domain.dll, T4不知道。
你应该将指向MyApp.Domain.dll的汇编指令添加到TypeLite.tt. dll中。这是T4类似于普通c#项目中的"添加引用"命令。
<#@ assembly name="$(SolutionDir)path'to'MyApp.Domain.dll" #>
$(SolutionDir)
是一个变量,它包含到您的解决方案目录的路径。
相关文章:
- 气质的“nestRemoting()”有时可以'找不到关系
- 错误405:向Java控制器(Ajax)发送JSON时找不到POST方法
- 找不到模块捆绑包
- for循环中的javascript if语句找不到==
- 找不到 IE8 MIME 类型应用程序/json
- 为什么我会得到未捕获的类型错误:can'找不到未定义的属性
- 未捕获的类型错误:无法读取未定义的属性“c1”,但找不到键入错误的内容
- 类型错误: 找不到数据库对象
- 随机子字符串错误?“类型错误:在对象中找不到函数子字符串.".
- 类型错误:在对象 [对象对象] 中找不到函数范围到对象.(第 4 行,文件“代码”)
- 可以'在Lookup中找不到消除第二种记录类型的解决方案
- 流类型:在PackageHeap中找不到package.json
- Viewmodel属性'链接'找不到模型类型
- 找不到'core-js'的类型定义文件
- 类型错误:在对象中找不到函数testFunction
- 编译转换:在运行TypeLite.tt时找不到类型或命名空间名称
- 类型错误:在对象中找不到forEach函数
- 可以'似乎找不到带有类型错误的whats$不是函数
- 类型错误:在对象(具有日期 ID 的文件夹)中找不到函数 hasNext
- 从 JavaScript 调用@JSFunction,类型错误:找不到对象的默认值