2012-10-07 44 views
13
get topLeft()  { return this._topLeft;    } 

set topLeft(value) { this._topLeft = value; Recalc(); } 

ऊपर कोड काम करता है टाइपप्रति प्ले में मिल "कोड 1 के साथ बाहर निकल गया", लेकिन जब यह Visual Studio 2012 error "exited with code 1"संकलन टाइपप्रति त्रुटि कोड

किसी को पाने के लिए प्रयास करें करता है से संकलन मैं निर्माण त्रुटि प्राप्त टाइपस्क्रिप्ट में सेट और सफलतापूर्वक निर्माण?

उत्तर

19

आपको ईसीएमएस्क्रिप्ट v5 को लक्षित करने की आवश्यकता होगी, यानी -target ES5 संकलक को तर्क दें। इसे प्रोजेक्ट फाइल लक्ष्य कॉन्फ़िगरेशन में सेट करने की आवश्यकता है।

मुझे नहीं पता कि वीएस ने लक्ष्य कॉन्फ़िगरेशन को संपादित करने के लिए मैकेनिम में कोई भी बनाया है, इसलिए मैं केवल आपको बता सकता हूं कि इसे मैन्युअल रूप से कैसे किया जाए। बस अपनी .csproj प्रोजेक्ट फ़ाइल खोलें, Target नोड देखें जहां टाइपस्क्रिप्ट कंपाइलर कमांड स्थित है, और -target ES5 तर्क जोड़ें।

मेरी config में यह इस तरह दिखता है:

<Target Name="BeforeBuild"> 
    <Exec Command="&quot;$(PROGRAMFILES)\Microsoft SDKs\TypeScript\0.8.0.0\tsc&quot; -target ES5 @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" /> 
</Target> 

अद्यतन

संस्करण 0.8.1.0 के रूप में, हार्डकोडेड संस्करण निर्भरता हटा दिया गया था और स्रोत नक्शे के लिए समर्थन को जोड़ा गया है, और इसलिए

<Target Name="BeforeBuild"> 
    <Message Text="Compiling TypeScript files" /> 
    <Message Text="Executing tsc$(TypeScriptSourceMap) @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" /> 
    <Exec Command="tsc$(TypeScriptSourceMap) @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" /> 
</Target> 

target argu इंजेक्शन: Target नोड अब डिफ़ॉल्ट रूप से इस तरह दिखता है जाहिर अभी भी बहुत आसान है, बस इसे tsc या $(TypeScriptSourceMap) के बाद डाल:

<Message Text="Executing tsc --target ES5 $(TypeScriptSourceMap) @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" /> 
<Exec Command="tsc --target ES5 $(TypeScriptSourceMap) @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" /> 
+0

आपको बहुत बहुत धन्यवाद ... यह एक आकर्षण की तरह काम करता ...^_^y – DexDude

+1

आपका स्वागत :) कृपया ध्यान दें कि यह जवाब है कि प्रश्न में समस्या हल चिह्नित करने के लिए अनुशंसा की जाती है कर रहे हैं स्वीकार्य (इसके बगल में छोटा चेकमार्क), यह न केवल प्रतिष्ठा के बारे में है, बल्कि दूसरों को सही जानकारी लेने में भी मदद करता है (माना जाता है कि अधिक जवाब हैं), यह अन्य प्रश्नकर्ताओं और उत्तरदाताओं के लिए एक संकेतक है कि सवाल हल हो गया है, और अन्य आपके प्रश्नों के उत्तर देने के लिए और अधिक प्रोत्साहित किया जाएगा जब वे देखेंगे कि यह कुछ भी नहीं होगा। – ndm

+0

मेरे पहलेबिल्ड लक्ष्य में " $ (PROGRAMFILES) की बजाय एक Exec कमांड = tsc $ (TypeScriptSourceMap) @ ... लाइन है ... जिसका आप उल्लेख करते हैं। क्या मैंने कुछ गलत तरीके से स्थापित किया था? क्या आप जानते हैं कि ईएस 5 लक्ष्य को एक्ज़ेक कमांड की उस शैली के साथ कहां रखा जाए? – GaryB96

9

0.8.2 के रूप में एक और परिवर्तन हुआ है। कुछ सामान्य टाइपस्क्रिप्ट निर्माण सामग्री को आपके .csproj से बाहरी बिल्ड फ़ाइल में ले जाया गया था। इस तरह:

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" /> 

आपका .csproj अभी भी टाइपस्क्रिप्ट निर्माण पर कुछ तर्क सेट करने के लिए बनाता है जिसमें उन्हें निर्माण में तत्व शामिल हैं। उनमें से एक तत्व ईएस संस्करण है। कैसे यह अंततः के हिस्से के रूप में समाप्त होता बस ES3 बदलने

ES5 करने की गहरी समझ के लिए वांछित प्रभाव के लिए

<PropertyGroup Condition="'$(Configuration)' == 'Debug'"> 
    <TypeScriptTarget>ES3</TypeScriptTarget> 
    <TypeScriptIncludeComments>true</TypeScriptIncludeComments> 
    <TypeScriptSourceMap>true</TypeScriptSourceMap> 
    </PropertyGroup> 
    <PropertyGroup Condition="'$(Configuration)' == 'Release'"> 
    <TypeScriptTarget>ES3</TypeScriptTarget> 
    <TypeScriptIncludeComments>false</TypeScriptIncludeComments> 
    <TypeScriptSourceMap>false</TypeScriptSourceMap> 
    </PropertyGroup> 

: टेम्पलेट मेरे लिए दो समूहों, डिबग के लिए और एक रिहाई के लिए बनाई गई टाइपस्क्रिप्ट कंपाइलर को कॉल करें Microsoft.TypeScript.targets फ़ाइल में एक नज़र डालें।

गुड लक,

+0

जब मैंने टाइप 5 को टाइपस्क्रिप्ट लक्ष्य को संपादित किया है तो मुझे त्रुटि मिलती है: '" tsc.exe "कोड 1 से बाहर निकला। 'कोई विचार? – daniel

संबंधित मुद्दे