तैयार हो जाओ के साथ टाइपप्रति त्रुटि कोड "कोड 1 के साथ बाहर निकल गया" संकलन

वोट
13
get topLeft()      { return this._topLeft;             }

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

इसके बाद के संस्करण कोड काम करता है टाइपप्रति प्ले में मिल जाए, लेकिन जब यह दृश्य स्टूडियो 2012 से संकलन मैं निर्माण त्रुटि प्राप्त error exited with code 1

किसी को भी, मिल टाइपप्रति में स्थापित है और सफलतापूर्वक निर्माण की कोशिश करता है?

07/10/2012 को 17:08
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


2 जवाब

वोट
19

आप ECMAScript v5 लक्षित करते हैं, यानी उत्तीर्ण करनी होगी -target ES5संकलक करने के लिए तर्क। इस परियोजना फाइलों लक्ष्य विन्यास में सेट किया जाना चाहिए।

मैं अगर वी.एस. किसी भी लक्ष्य विन्यास संपादन के लिए mechanims में बनाया गया है पता नहीं है, तो मैं सिर्फ तुम बताओ कि मैन्युअल रूप से ऐसा कर सकते हैं। बस अपने खोलने .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नोड अब डिफ़ॉल्ट रूप से इस तरह दिखता है:

<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तर्क अभी भी बहुत आसान है, बस के बाद डाल दिया tscया $(TypeScriptSourceMap):

<Message Text="Executing tsc --target ES5 $(TypeScriptSourceMap) @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
<Exec Command="tsc --target ES5 $(TypeScriptSourceMap) @(TypeScriptCompile ->'&quot;%(fullpath)&quot;', ' ')" />
07/10/2012 को 18:07
का स्रोत उपयोगकर्ता

वोट
9

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

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

आपका .csproj अभी भी उन्हें निर्माण में तत्व के रूप में शामिल करके टाइपप्रति निर्माण पर कुछ तर्क स्थापित करने के लिए हो जाता है। उन में से एक तत्व ES संस्करण है। टेम्पलेट मेरे लिए दो समूहों, डिबग के लिए एक और जारी करने के लिए एक बनाया:

  <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>

के लिए वांछित प्रभाव सिर्फ ES5 को ES3 बदल

कैसे यह अंततः टाइपप्रति संकलक करने के लिए कॉल के हिस्से के रूप में समाप्त होता की गहरी समझ के लिए Microsoft.TypeScript.targets फ़ाइल में एक नजर है।

सौभाग्य,

04/03/2013 को 13:17
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more