2017-03-28 9 views
13

चूंकि विजुअल स्टूडियो 2017 जारी किया गया है और हम नई सी # 7 सुविधाओं का उपयोग कर सकते हैं, मुझे उम्मीद है कि यह Azure वेब ऐप्स पर तैनाती करते समय काम करेगा।क्या हम Kudu का उपयोग करके Azure को C# 7 वेब ऐप तैनात कर सकते हैं?

दुर्भाग्य से हम निरंतर तैनाती (कुडू गिट तैनाती) का उपयोग करते समय संकलन त्रुटियों को देख रहे हैं, ऐसा लगता है कि Azure अभी तक नए टूलचेन का समर्थन नहीं करता है।

क्या ऐसा कुछ भी है जो हम इसे अभी काम करने के लिए कर सकते हैं (विधानसभाओं को सीधे प्रकाशित करने के अलावा)?

+0

पर अपडेट रह सकते हैं क्या आप कुडू के स्थानीय संस्करण का उपयोग कर रहे हैं? – DavidG

+0

नहीं, हम बस गिथब के लिए आ रहे हैं, जो कि कुडू का उपयोग करके परिवर्तन लाने के लिए अज़ूर को ट्रिगर करता है। –

+0

ओह, मुझे आश्चर्य है कि क्या उन्होंने अभी तक Azure पर नवीनतम निर्माण टूल में अपडेट नहीं किया है। क्या आप बता सकते हैं कि लॉग से MSBuild का कौन सा संस्करण चल रहा है? – DavidG

उत्तर

16

क्योंकि हमारे पास अभी तक Azure में msbuild15 नहीं है। आप ग # निरंतर एकीकरण के साथ 7 सुविधाओं का उपयोग करना चाहते हैं, आप कुछ वैकल्पिक हल

  1. डॉटनैट कोर वेब समाधान के लिए आवश्यकता हो सकती है कि आप Azure में यह निर्माण कर सकते हैं बॉक्स से बाहर। (इसे इस्तेमाल करता है अपनी ही dotnet msbuild.dll) [repository sample]
  2. asp.net वेब समाधान के लिए
  3. , आप परियोजना जहां नई भाषा सुविधा लागू किया जाता है को Microsoft.Net.Compilers 2.0+ nuget पैकेज जोड़ने की जरूरत है। उदाहरण के लिए, यदि समाधान में कक्षा पुस्तकालय नए वाक्यविन्यास का उपयोग कर रहा है, तो आपको उस lib प्रोजेक्ट में nuget पैकेज जोड़ने की आवश्यकता है। (नई सी # संकलक इस प्रकार आयात किया जाता है अगर आप इस nuget पैकेज देखें) [repository sample]
  4. अंत में मिश्रित समाधान (डॉटनैट कोर वेब एप्लिकेशन + .NET फ़्रेमवर्क वर्ग lib) के लिए, आप नेट ढांचे के लिए nuget restore चलाने की आवश्यकता lib परियोजना स्वतंत्र रूप सेdotnet restore के बाद से संगत नहीं है, यह पुराने निर्माण प्रणाली से परियोजना को पुनर्स्थापित नहीं कर सकता है। मैं अपने deploy.cmd [repository sample]

इन समाधानों हैकिंग से ऐसा किया या तो करने के लिए
नकल msbuild15 कोशिश (case1: dotnet msbuild.dll, case2: एक nuget पैकेज के रूप में संकलक)
या नकल nuget4.0 (मामले 3: रन dotnet restore और nuget3.5 restore)

हम Azure के लिए इन उपकरणों को बनाने की प्रक्रिया में हैं, उन्हें जल्द ही बाहर होना चाहिए। आप github

+0

माइक्रोसॉफ्ट.Net.Compilers जोड़ना समस्या हल करता है ... लेकिन नाटकीय रूप से बनाता है बनाता है !! यह निराशाजनक है :( – Subgurim

+1

@Subgurim msbuild-15.3-पूर्वावलोकन पहले से ही Azure west us2 में है, यह भवन उपकरण जल्द ही हर जगह उपलब्ध होगा – watashiSHUN

+0

ग्रेट! मेरी इच्छा है कि यह ठीक से घोषित किया जाएगा;) – Subgurim

3

Microsoft.Net.Compilers जोड़ना NuGet पैकेज समस्या को हल करता है।

+0

"[आपको C# 7.0 सुविधाओं का समर्थन करने के लिए Microsoft.Net.Compilers 2.0+ nupkg को स्थापित करने की आवश्यकता है।] (Http://stackoverflow.com/questions/42216740/c-sharp-7-features-dont-work-within -ए-वेब-प्रोजेक्ट-ऑन-विज़ुअल-स्टूडियो-2017-आरसी) " – watashiSHUN

+0

@ वाटशीशुन यह वही बात नहीं है। सी # 7 फीचर्स वीएस2017 में बिना किसी मुद्दे के काम करते थे, केवल एक समस्या को तैनात करते समय। –

+1

यह मेरे लिए काम नहीं करता – Jonathan

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