2016-11-05 8 views
5

मेरे पास एक कोणीय 2 वेबप्लिकेशंस है जहां मैं टाइपस्क्रिप्ट 2.0 का उपयोग कर रहा हूं। मैंने अपने वीएस संस्करण 2.0 में स्थानीय रूप से स्थापित किया है और मेरे वीएस प्रोजेक्ट में टाइपस्क्रिप्ट संस्करण के लिए टैग भी बदल दिया है। स्थानीय रूप से बनाम निर्माण ठीक काम करता है। एक vNext निर्माण अब निर्माण के साथ विजुअल स्टूडियो टीम सेवाओं पर मेरी सीडी पाइप लाइन में इस के साथ विफल रहता है:विजुअल स्टूडियो टीम सर्विसेज बिल्डस्क्रिप्ट त्रुटि

2016-11-05T16:10:22.0371090Z C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.8\tsc.exe --project "C:\a\1\s\src\Emersy\tsconfig.json" 
2016-11-05T16:10:22.7095466Z ##[error]VSTSC(0,0): Error TS5023: Build: Unknown compiler option 'strictNullChecks'. 

लगता बिल्ड सर्वर की तरह है कि typesript संस्करण 1.8 यह संभव है उपयोग कर रहा है?

उत्तर

20

टाइपप्रति 2.0 की मेजबानी एजेंट बिल्ड में उपलब्ध नहीं है। लेकिन आप इसके बजाय Microsoft.TypeScript.MSBuild पैकेज का उपयोग कर सकते हैं, उसके बाद आप होस्टेड एजेंट पर टाइपस्क्रिप्ट 2.0 के साथ अपनी प्रोजेक्ट बना सकते हैं।

  1. जोड़ें/अपनी परियोजना के लिए Microsoft.TypeScript.MSBuild package स्थापित
  2. संपादित अपने प्रोजेक्ट फ़ाइल (.csproj)

    एक।) MSBuild कॉन्फ़िगर NuGet पैकेज के रंगमंच की सामग्री फ़ाइल का उपयोग करने।

    <Import Project="..\packages\Microsoft.TypeScript.MSBuild.2.0.6\build\Microsoft.TypeScript.MSBuild.props" Condition="Exists('..\packages\Microsoft.TypeScript.MSBuild.2.0.3\build\Microsoft.TypeScript.MSBuild.props')" /> 
    <!--<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props')" />--> 
    

    बी।) NuGet पैकेज की लक्ष्य फ़ाइल का उपयोग करने के लिए MSBuild को कॉन्फ़िगर करें।

    <Import Project="..\packages\Microsoft.TypeScript.MSBuild.2.0.6\build\Microsoft.TypeScript.MSBuild.targets" Condition="Exists('..\packages\Microsoft.TypeScript.MSBuild.2.0.6\build\Microsoft.TypeScript.MSBuild.targets')" /> 
    <!--<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets')" />--> 
    

    यदि यह नेट कोर परियोजना है, .xproj फ़ाइल

    <TypeScriptToolsVersion>2.0.6</TypeScriptToolsVersion> 
    <TscToolPath>C:\Users\[user account]\.nuget\packages\Microsoft.TypeScript.MSBuild\2.0.6\tools\tsc</TscToolPath> 
    
+0

क्या आप जानते हैं कि होस्टस्क्रिप्ट निर्माण में टाइपस्क्रिप्ट 2 कब उपलब्ध होगा? – cpiock

+1

@cpiock नहीं, इसके बारे में आधिकारिक लेख नहीं है। आप इस आलेख के अपडेट को ट्रैक कर सकते हैं (https://www.visualstudio.com/en-us/docs/build/admin/agents/hosted-pool) –

+0

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

2

मुझे नहीं लगता कि होस्टेड बिल्ड एजेंटों को इस समय टाइपस्क्रिप्ट 2.0 के लिए समर्थन है।

VisualStudio.com से:

TypeScript 1.4 for Visual Studio 2013 
TypeScript 1.6 for Visual Studio 2013 and Visual Studio 2015 
TypeScript 1.7.5 for Visual Studio 2013 
TypeScript 1.7.6 for Visual Studio 2015 
TypeScript 1.8.6 for Visual Studio 2013 and Visual Studio 2015 
WIX Toolset 3.10 
+0

प्रलेखन के रूप में नहीं देखते सूचीबद्ध सभी संस्करणों में काम किया भागों में गलत हो रहा है। जैसे मैंने 1.8.6 की कोशिश की - वहां नहीं। 1.4 और 1.6 हालांकि काम किया। –

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