2013-04-18 15 views
6

चलाते समय टाइप या नामस्थान नाम नहीं मिला अस्वीकरण: मैं यहां उपयोग की जा रही तकनीक के लगभग हर टुकड़े के लिए नया हूं, इसलिए मुझे क्षमा करें अगर मुझे स्पष्ट याद आ रही है ..संकलन संकलन: TypeLite.tt

मैं एंटिटी फ्रेमवर्क 5 और वेब एपीआई के साथ एमवीसी 4 के साथ गड़बड़ करना शुरू कर रहा हूं, और मैं कुछ यूआई सामान करने के लिए नॉकआउट के साथ टाइपस्क्रिप्ट का उपयोग करना चाहता हूं। मुझे टाइपलाइट प्रोजेक्ट मिला जो मेरे ईएफ मॉडल को ले जाएगा और मेरे लिए टाइपस्क्रिप्ट इंटरफेस जेनरेट करेगा ताकि सब कुछ "दृढ़ता से" टाइप किया जा सके।

मेरे समाधान 3 परियोजनाओं के होते हैं:

  • MyApp.dll = शामिल MVC के सभी काम
  • MyApp.Domain.dll = एफई डोमेन मॉडल शामिल
  • MyApp.WebAPI.dll =

    : वेबएपीआई काम

मैं MyApp परियोजना (NuGet के माध्यम से) के लिए TypeLite संदर्भ जोड़ा, और 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 पर मैं त्रुटि मिलती है:

<#@ import namespace="MyApp" #> 
<#@ import namespace="MyApp.Domain" #> 
<#@ import namespace="MyApp.Domain.Models" #> 

यह अभी भी दे रही रखता है:

Compiling transformation: The type or namespace name 'MyApp' could not be found (are you missing a using directive or an assembly reference?)

मैं लाइन (रों) जोड़ने की कोशिश की है मुझे वही त्रुटि हालांकि। मुझे यकीन है कि मुझे कुछ मामूली याद आ रही है, और मैं अभी भी हजारों लेखों के माध्यम से चुन रहा हूं कि डॉ। Google ने मुझे इसके लिए खोज का संदर्भ दिया है, लेकिन मुझे उम्मीद है कि यहां कोई व्यक्ति मुझे प्रकाश खोजने में मदद कर सकता है।

किसी भी मदद के लिए धन्यवाद ...

उत्तर

13

टी -4 templating इंजन, कि ड्राइव टाइपप्रति पीढ़ी इंटरफेस, एक अलग प्रक्रिया के रूप में चलाता है, तो भी MyApp.WebAPI परियोजना संदर्भ MyApp.Domain.dll हालांकि, टी -4 पता नहीं है इसके बारे में।

आपको असेंबली निर्देश जोड़ना चाहिए जो MyApp.Domain.dll को TypeLite.tt पर इंगित करता है। यह नियमित रूप से सी # परियोजनाओं से 'संदर्भ जोड़ें "कमांड की टी -4 एनालॉग संशोधित हल करने के लिए कोड है।

<#@ assembly name="$(SolutionDir)path\to\MyApp.Domain.dll" #> 

$(SolutionDir) एक चर, जो आपके समाधान निर्देशिका के लिए पथ होता है।

+2

धन्यवाद लुकास! मेरी समस्या: <# @ असेंबली नाम = "$ (समाधान डीआईआर) MyApp.Domain \ bin \ $ (कॉन्फ़िगरेशन नाम) \ MyApp.Domain.dll" #> – ThinkingCap

+0

इसे टी 4 में जोड़ने के लिए मेरे लिए काम किया <# @ असेंबली नाम = "$ (टार्गपाथ) "#> –