2017-12-29 156 views
9

साथ ASP.NET कोर ऐप्स को प्रकाशित मैं एक Asp.Net MVC कोर वेबसाइट है कि public static async Task Main() का उपयोग कर रहा है। इसके लिए मैंने डीबग और रिलीज बिल्ड कॉन्फ़िगरेशन दोनों के लिए भाषा संस्करण को सी # 7.2 (गुणों में -> बिल्ड -> उन्नत संवाद, csproj में दो बार चेक किया है) में सेट किया है।विजुअल स्टूडियो 2017 सी # 7.2

ऐप डीबग और रिलीज मोड दोनों में ठीक बनाता है और शुरू होता है।

अब, मैं दृश्य स्टूडियो से सीधे एक Azure वेबसाइट पर प्रकाशित करने के लिए कोशिश कर रहा हूँ 2017 (WebDeploy के साथ) 15.5.2 और मैं इस मिल:

Program.cs (17,29): त्रुटि सीएस 8107: फीचर 'async main' सी # 7.0 में उपलब्ध नहीं है। कृपया भाषा संस्करण 7.1 या अधिक का उपयोग करें। सीएससी (0,0): त्रुटि CS5001: कार्यक्रम एक प्रवेश बिंदु

उत्पादन विंडो में मैं देख रहा हूँ यह कुछ झंडे के साथ C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\Roslyn\csc.exe चल रहा है, शायद उनमें से एक के लिए एक स्थिर 'मुख्य' उपयुक्त विधि शामिल नहीं है गलत है?

किसी को भी पता है कि अगर यह एक ज्ञात समस्या है या मैं कुछ गलत कर रहा हूँ?

उत्तर

1

नहीं एक जवाब, दर असल, लेकिन क्या इसके लायक है async Main बस वाक्यात्मक चीनी है। पर्दे के पीछे रोसलिन सिर्फ मानक void Main आवरण निर्माण जोड़ता है:

static void Main(object[] args) 
{ 
    MainAsync(args).GetAwaiter().GetResult(); 
} 

static async Task MainAsync(object[] args) 
{ 
    // your code 
} 

यह शायद नहीं अपने समय के लायक एक ही पृष्ठ सी # संस्करण के लिहाज पर सर्वर प्राप्त करने की कोशिश बस कोड की सचमुच तीन लाइनों को बचाने के लिए है,।

+0

हाँ मैं इस दौरान इस पर वापस लौट आया क्योंकि मुझे इस मुद्दे का स्रोत नहीं मिला –

1

यह विजुअल स्टूडियो में एक बग प्रतीत होता है। .csproj फ़ाइल में मुख्य संपत्ति समूह के लिए इस लाइन को जोड़ने से मेरे लिए इस मुद्दे को हल:

<LangVersion>latest</LangVersion>

मुद्दा भी ASP.NET होम भंडार में here सूचना मिली थी।

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