2012-10-08 15 views
10

के साथ समस्याएं टाइपस्क्रिप्ट के साथ एक साथ आयोजित टीएफएस विजुअल स्टूडियो प्रोजेक्ट में शायद एक समस्या है।टाइपस्क्रिप्ट और टीएफएस

बिल्ड टीएससी पर पढ़ने के लिए readonly .js फ़ाइल को ओवरराइट नहीं कर सकता अनुमति अनुमति से इनकार कर दिया गया है।

Error 1 Permission denied 
Error 2 The command ""C:\Program Files (x86)\Microsoft SDKs\TypeScript\0.8.0.0\tsc 
"c:\users\schlicht\documents\visual studio 2012\Projects\TypeScriptHTMLApp1\TypeScriptHTMLApp1\app.ts"" exited with code 1. 

यह बिना स्पष्ट रूप से एक का निर्माण tsc साथ उपयोग करने के लिए फ़ाइलों को बाहर की जाँच संभव है?

+1

FYI करें अद्यतन 3 के साथ दृश्य स्टूडियो 2013 के नवीनतम संस्करण इस समस्या को तय किया है। मेरे पास एक प्रोजेक्ट है जहां .js फ़ाइल TFS स्रोत नियंत्रण के अंतर्गत है, जो .ts फ़ाइल के अंतर्गत घोंसला है। यदि आप .ts फ़ाइल को सहेजते हैं (संकलन का कारण बनते हैं) .js फ़ाइल स्वतः चेक-आउट और अपडेट की जाती है। – Quango

उत्तर

1

यह एक ज्ञात बग (या लापता सुविधा) है:

http://typescript.codeplex.com/workitem/108

+0

धन्यवाद, मैंने पहले ही कुछ सोचा था। वेब अनिवार्यता 2012 का उपयोग करना विजुअल स्टूडियो में सहेजे जाने पर स्वचालित रूप से टाइपस्क्रिप्ट फ़ाइल (.ts) को संकलित करने की संभावना प्रदान करता है। इसमें एक पूर्वावलोकन समारोह भी है। [लिंक] http://visualstudiogallery.msdn.microsoft.com/07d54d12-7133-4e15-becb-6f451ea3bea6 – iSchlicht

+0

वेब अनिवार्यताएं 2012 एक ही समस्या से पीड़ित हैं .... –

7

.js फ़ाइल में जाँच करें। हम इस दृष्टिकोण का उपयोग हमारे टाइपस्क्रिप्ट प्रोजेक्ट पर करते हैं और यह अच्छी तरह से काम करता है। स्रोत नियंत्रण में जेनरेट किए गए .js की आवश्यकता नहीं है; प्रोजेक्ट आउटपुट के रूप में .js फ़ाइलों के बारे में सोचें, जैसे .exe या .dll।

+4

इसके साथ समस्या यह है कि .js फ़ाइल तब करता है निर्माण पर उत्पादन साइट में उत्पन्न नहीं हो ... –

0

I experienced कल।

जैसा कि इयानो ने कहा है, उत्पन्न जेजे को टीएफएस में न जोड़ें; या tf checkout और tf checkin को पहलेबिल्ड लक्ष्य में जोड़ें।

1

यहां एक कामकाज है: अपनी जेएस फ़ाइलों को परियोजना के हिस्से के रूप में और स्रोत नियंत्रण में रखने के लिए।

स्थानीय वर्कस्पेस का उपयोग करें, क्योंकि यह फ़ाइलों पर केवल पढ़ने के लिए ध्वज लागू नहीं करता है, इसलिए .JS फ़ाइलों को सहेजने के लिए इसे चेक-आउट की आवश्यकता नहीं होती है।

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

अन्य टीम के सदस्य स्थानीय कार्यक्षेत्र में परिवर्तित हो गए हैं और वे एक बार फिर चिकनी नौकायन कर रहे हैं।

0

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

तो, क्या काम करता है? This solution आपकी मदद कर सकता है, मेरा सुझाव है कि आप इसे आजमाएं।

लेकिन वैसे भी, जैसा कि ए एम ने उल्लेख किया था। यह एक ज्ञात बग है। और मुझे लगता है कि टाइपस्क्रिप्ट कंपाइलर के लिए सबसे अच्छा समाधान उन .ts फ़ाइलों के लिए .js फ़ाइलों को लिखना होगा जो केवल पढ़ने-योग्य (चेक-इन) हैं।

4

अब,   यदि आपका बिल्ड सर्वर टाइपस्क्रिप्ट चलाने के लिए कॉन्फ़िगर किया गया है, तो टीएससी जावास्क्रिप्ट फ़ाइलों को चलाएगा और जेनरेट करेगा।

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

इस मामले में, आप एक प्री-बिल्ड ईवेंट चला सकते हैं, जो सभी पढ़ेगा उस परियोजना के लिए जेएस फाइलों के केवल गुण।

1. सही परियोजना पर क्लिक करें और परियोजना संपत्ति विंडो

2. खोलें बिल्ड घटना टैब

enter image description here

इससे यह सुनिश्चित होगा चयन करें, सभी जेएस फ़ाइल केवल-पढ़ने योग्य विशेषताओं को रिलीज़ करती है और फ़ाइल में लिखने के लिए कोई त्रुटि नहीं होगी।

उम्मीद है कि इससे मदद मिलती है।

स्रोत: http://dailydotnettips.com/2014/05/03/typescript-emit-error-write-to-file-failed-how-to-resolve

+1

मैंने 'attrib -r/s" $ (ProjectDir) *। js.map "' भी जोड़ा –

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