2012-10-24 25 views
13

में टाइपस्क्रिप्ट फ़ाइलों को संकलित नहीं कर सकता है मैंने वीएस 2012 के लिए टाइपस्क्रिप्ट एक्सटेंशन डाउनलोड और स्थापित किया है, मुझे अपना पहला नमूना को मैन्युअल रूप से tsc.exe फ़ाइल पर खींचकर फ़ाइल को मिलाकर मिला है! क्योंकि फ़ाइल को संकलित करने का कोई अन्य तरीका काम नहीं करेगा।विजुअल स्टूडियो 2012

मैं हर बार मैन्युअल रूप से ऐसा नहीं करना चाहता हूं जब भी मैं एक पृष्ठ डीबग करना चाहता हूं! मैंने वेब पर लगभग 5 लेख पढ़े हैं और समाधानों में से कोई भी काम नहीं करता है।

  1. Using TypeScript in cshtml files
  2. Visual Studio TypeScript Options
  3. Debugging TypeScript code with Visual Studio
  4. : मैं Windows में पथ को टाइपप्रति संकलक जोड़ने की कोशिश की है, मैं डाउनलोड करने और Nuget पैकेज प्रबंधक Sholo बात के माध्यम से स्थापित करने की कोशिश की है, मैं इन पृष्ठों की कोशिश की है
  5. Cannot compile typescript using tsc node module
  6. TypeScript - Visual Studio - d3
  7. Visual Studio 2012 TypeScript project ignoring two files during compile
  8. TypeScript/Visual Studio 2012/Compilation parameters
  9. Using TypeScript in an existing Visual Studio Web Site project
  10. Visual Studio TypeScript Options
  11. Compile generated files in Visual Studio

और एकमात्र समाधान काम किया है नहीं।

मैंने विजुअल स्टूडियो के लिए वेब अनिवार्य प्लगइन को भी डाउनलोड और स्थापित किया है और विकल्प मेनू पर गया है, फिर चयनित "बिल्ड = ट्रू पर सभी टाइपस्क्रिप्ट फ़ाइलों को संकलित करें" और "सहेजें = True पर संकलित टाइपस्क्रिप्ट" चुनें - लेकिन कुछ भी काम नहीं करता है।

मैंने कोडप्लेक्स साइट पर संपूर्ण टाइपस्क्रिप्ट वेबसाइट, विनिर्देशन और यहां तक ​​कि उनके चर्चा टैब को पढ़ा है।

मैं जब मैं F5/डीबग प्रेस जब मैं .ts फ़ाइल या में परिवर्तन सहेजने टाइपप्रति संकलित करने के लिए कैसे प्राप्त कर सकता/बनाया गया?

* मुझे वास्तव में कोई तीसरी पार्टी स्क्रिप्ट/प्लगइन्स आदि नहीं चाहिए जब तक कि यह बिल्कुल जरूरी न हो। मैंने उनमें से कुछ को देखा है और यह बस है ... कोई बात नहीं है। मैं बस शुद्ध जावास्क्रिप्ट लिख सकता हूं।

+1

क्या आप विजुअल स्टूडियो में टाइपस्क्रिप्ट परियोजनाएं बना सकते हैं? क्या यह एक नई परियोजना बनाते समय एक विकल्प के रूप में दिखाई देता है? –

+0

@MattBurland नए प्रोजेक्ट डायलॉग में एकमात्र विकल्प 'टाइपस्क्रिप्ट के साथ एचटीएमएल एप्लीकेशन' है। लेकिन इस परियोजना में '.cshtml' फ़ाइलें या रेजर-कोड काम नहीं करते हैं। मैंने इस प्रोजेक्ट प्रकार में सभी वेबमैट्रिक्स/रेजर-आधारित संदर्भित और बिन फ़ोल्डर को जोड़ने का प्रयास किया। लेकिन हाँ, वह विकल्प काम करता है, इसके साथ एकमात्र समस्या यह है कि मुझे सर्वर-साइड कोड फ़ाइलों को काम करने के लिए कोई भी नहीं मिल सकता है। अजीब। – Arrow

+0

मैं इस प्रश्न को अद्यतन कर रहा हूं क्योंकि ऐसा लगता है कि कई अन्य इस समस्या का सामना कर रहे हैं, लेकिन एक भी समाधान हर किसी के लिए काम नहीं करता है। 25/10/12 तक मैं अभी भी इस मुद्दे का सामना कर रहा हूं। तो अगर किसी के पास कोई विचार या संभावित समाधान है तो मैं आपकी मदद की सराहना करता हूं! – Arrow

उत्तर

5

मुझे एक ही समस्या थी जब मैंने अपनी .js फ़ाइलों को .ts में बदल दिया। आपको अपने .csproj को यह पहचानने के लिए राइट क्लिक करना होगा और अपनी प्रोजेक्ट में एक नई टाइपस्क्रिप्ट फ़ाइल जोड़नी होगी कि टाइपस्क्रिप्ट कंपाइलर को इस .ts फ़ाइल पर इस्तेमाल किया जाना चाहिए।

आपको पता चलेगा कि यह सही है जब आप .ts फ़ाइल का विस्तार करने के लिए तीर देखते हैं।

enter image description here

+0

मैं बस नया आइटम जोड़ने गया, फिर सूची नीचे स्क्रॉल किया गया, और वहां कोई टाइपस्क्रिप्ट फ़ाइल नहीं है :(- और वहां भी होना चाहिए, क्योंकि मैंने टाइपस्क्रिप्ट टाइपस्क्रिप्ट भाषा सेवा स्थापित की है (जिसे मैंने कहीं पढ़ा है जिसे इंस्टॉल करना है फाइल एक्सटेंशन ताकि यह सूची में दिखाया जा सके) '... एसडीके/टाइपस्क्रिप्ट/'फ़ोल्डर के अंदर चीज। – Arrow

+0

http://www.microsoft.com/en-us/download/details.aspx?id=34790 – ryan

+0

धन्यवाद। पिछली रात जब मैंने टाइपस्क्रिप्ट के बारे में पता चला तो यह पहली बात थी। :) – Arrow

4

आप एक .ts फ़ाइल में एक .js फ़ाइल बदलते हैं तो आप दृश्य स्टूडियो में गुण पैनल पर जाएँ और TypeScriptCompile को कार्रवाई बिल्ड बदल सकते हैं। जब आप फ़ाइल बदलते हैं तो यह गायब है। यह आपको फ़ाइलों को हटाने और पुनः जोड़ने से बचा सकता है।

+0

यह मेरे लिए काम नहीं करता है। – Arrow

+1

आपको अपनी प्रोजेक्ट फ़ाइल को अपडेट करने की भी आवश्यकता हो सकती है: http://www.stevefenton.co.uk/Content/Blog/Date/201210/Blog/Adding- टाइपस्क्रिप्ट- टू- एएन- एक्सस्टिंग- विज़ुअल- स्टूडियो- प्रोजेक्ट/ – Fenton

+0

मैंने सिर्फ लिंक पढ़ा है, यह प्रोजेक्ट फ़ाइल कौन सा है? मेरे पास 'packages.config',' web.config' है, और मेरे पास विजुअल स्टूडियो समाधान फ़ाइल भी है। मेरी वेबसाइट एक "वेबसाइट" है जो "प्रोजेक्ट" नहीं है - एक अंतर है, मुझे लगता है, क्योंकि दोनों प्रकार अलग-अलग फाइलें उत्पन्न करते हैं। – Arrow

1

मुझे एक ही समस्या थी। मैं प्रोजेक्ट में नई .ts फ़ाइल नहीं जोड़ सका। .js से .ts फ़ाइल में नाम बदलने के बाद संकलित नहीं किया गया था। यह भी कमांड लाइन में tsc का उपयोग करके संकलित नहीं किया गया था।

लेकिन! विंडोज एक्सप्लोरर में फ़ाइल को दोबारा बनाने के बाद इसे सफलतापूर्वक संकलित किया गया था। और स्क्रिप्ट फ़ोल्डर में विंडोज एक्सप्लोरर (विजुअल स्टूडियो नहीं) में फ़ाइल बनाने और इसे परियोजना में शामिल करने के बाद मैन्युअल रूप से फ़ाइल बनाने के बाद - सभी काम। मैं इन दो फाइलों के बीच परिवर्तन का पता नहीं लगा सका। लेकिन अगर आप एक्सप्लोरर में टेक्स्ट फ़ाइल बनाते हैं, तो इसे .ts पर पुनर्नामित करें और इसके बाद प्रोजेक्ट में शामिल करें और टाइपस्क्रिप्ट कॉम्पाइल में फ़ाइल की बिल्ड एक्शन सेट करें - यह काम करता है।

+1

खुशी है कि आपको ऐसी परेशानी की समस्या के लिए एक समाधान मिला है। :-) मैंने एक छोटा ऐप लिखा (http://onthefly.codeplex.com/) जो आपके फ़ाइलों को एक बटन के केवल 1 क्लिक के साथ कंपाइलर में भेजता है। यह बस सबसे तार्किक बात की तरह लग रहा था क्योंकि मैं इसे संकलित करने का कोई अन्य तरीका नहीं समझ पाया। लेकिन, आपके उत्तर के लिए धन्यवाद। जानना अच्छा है कि इस समस्या के आसपास अभी भी अन्य तरीके हैं। :) – Arrow

0

मुझे एक ही समस्या थी। मैंने वेब आवश्यक विस्तार को अद्यतन किया और समस्या हल हो गई। यदि आपके पास वेब आवश्यक विस्तार है, तो आप इसे आजमा सकते हैं।

11

आपको यह सुनिश्चित करना होगा कि BuildAction आपके .ts फ़ाइलों के लिए TypeScriptCompile होना चाहिए। मैंने इन लाइनों को (.csproj) प्रोजेक्ट फ़ाइल के अंत में जोड़ा है। (प्रोजेक्ट टैग बंद करने से पहले) और ऐसा लगता है कि यह काम कर रहा है।

<PropertyGroup Condition="'$(Configuration)' == 'Debug'"> 
<TypeScriptTarget>ES3</TypeScriptTarget> 
<TypeScriptIncludeComments>true</TypeScriptIncludeComments> 
<TypeScriptSourceMap>true</TypeScriptSourceMap> 
<TypeScriptModuleKind>AMD</TypeScriptModuleKind> 
</PropertyGroup> 
<PropertyGroup Condition="'$(Configuration)' == 'Release'"> 
<TypeScriptTarget>ES3</TypeScriptTarget> 
<TypeScriptIncludeComments>false</TypeScriptIncludeComments> 
<TypeScriptSourceMap>false</TypeScriptSourceMap> 
<TypeScriptModuleKind>AMD</TypeScriptModuleKind> 
</PropertyGroup> 
<Import Project="$(VSToolsPath)\TypeScript\Microsoft.TypeScript.targets" /> 
+0

धन्यवाद मैन! वास्तव में मदद करो! – Eduardo

1

प्लग

मैं एक NuGet पैकेज अपने प्रोजेक्ट में कोई afterbuild लक्ष्य कहते हैं कि इतने सारे शामिल ts फ़ाइलों js को संकलित किया गया है पैदा करते हैं।

स्थापित-पैकेज TypeScript.Compile

0

यदि आपसे अमान्य टाइपप्रति है की जांच करें। कुछ टाइपस्क्रिप्ट त्रुटियां हैं जो त्रुटि सूची में दिखाई नहीं देती हैं, लेकिन वे टाइपस्क्रिप्ट संकलन-ऑन-सेव को रोकती हैं और विजुअल स्टूडियो स्टेटस बार में Output generation failed संदेश दिखाती हैं।

  • export एक वर्ग है जो एक मॉड्यूल (v 0.9.5) के अंदर नहीं है ing:

    ये टाइपप्रति त्रुटियों है कि इस का कारण बन सकती हैं।

अगर मुझे ऐसी त्रुटियां हैं तो कृपया मुझे बताएं, मैं उन्हें यहां जोड़ दूंगा।

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