免責事項:私はここで使用しているほぼすべてのテクノロジーに慣れていないため、明らかな点が欠けている場合はご容赦ください...
Entity Framework 5 と Web API を使用して MVC 4 をいじり始めており、Knockout で TypeScript を使用していくつかの UI を実行したいと考えています。すべてが「強く」型付けされるように、EF モデルを取得して TypeScript インターフェイスを生成する TypeLite プロジェクトを見つけました。
私のソリューションは 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" #>
それでも同じエラーが発生し続けます。私は些細なことを見逃していると確信しており、グーグル博士がこれを検索して私のために見つけた何千もの記事をまだ選んでいますが、ここの誰かが私が光を見つけるのを手伝ってくれることを望んでいます.
助けてくれてありがとう...