【发布时间】:2013-04-11 14:43:20
【问题描述】:
免责声明:我对我在这里使用的每一项技术都是新手,所以如果我遗漏了明显的内容,请原谅我......
我开始将 MVC 4 与 Entity Framework 5 和 Web API 混为一谈,我想使用带有 Knockout 的 TypeScript 来做一些 UI 工作。我找到了 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 上“运行自定义工具”时出现错误:
编译转换:找不到类型或命名空间名称“MyApp”(您是否缺少 using 指令或程序集引用?)
我已尝试添加以下行:
<#@ import namespace="MyApp" #>
<#@ import namespace="MyApp.Domain" #>
<#@ import namespace="MyApp.Domain.Models" #>
它仍然给我同样的错误。我确定我遗漏了一些微不足道的东西,并且我仍在通过 Google 博士为我找到的数千篇文章进行挑选,以参考搜索,但我希望这里的人可以帮助我找到光明。
感谢您的帮助...
【问题讨论】:
标签: javascript asp.net-mvc entity-framework typescript