คำถามติดแท็ก .net-4.6

7
ข้อผิดพลาดไม่ถูกต้องตัวเลือก '6' สำหรับ / langversion; ต้องเป็น ISO-1, ISO-2, 3, 4, 5 หรือค่าเริ่มต้น
ฉันพยายามกำหนดเป้าหมาย. NET 4.6 และใช้ประโยชน์จาก C # เวอร์ชันล่าสุดโดยเปลี่ยนเวอร์ชันภาษา C # เป็น 6 อย่างไรก็ตามในระหว่างการรวบรวมฉันได้รับข้อผิดพลาดนี้: ข้อผิดพลาดไม่ถูกต้องตัวเลือก '6' สำหรับ / langversion; ต้องเป็น ISO-1, ISO-2, 3, 4, 5 หรือค่าเริ่มต้น หากฉันอัปเดตการ/langversion:6ตั้งค่าใน Web.Config เป็น 5 จะใช้งานได้ <system.codedom> <compilers> <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"> แต่ฉันจะแก้ไขปัญหานี้ได้อย่างไรโดยไม่ต้องใช้เวอร์ชันภาษาที่ต่ำกว่า ฉันใช้ Visual Studio 2015 Community Edition และฉันได้ติดตั้ง. …

4
คุณลักษณะ 'การใช้การประกาศ' ไม่พร้อมใช้งานใน C # 7.3 โปรดใช้ภาษาเวอร์ชัน 8.0 หรือสูงกว่า - มีข้อผิดพลาดในเครื่องหนึ่ง แต่ใช้งานได้กับเครื่องอื่น
เมื่อใช้Visual Studio Enterprise 16.3.7กับเครื่องที่แยกกันสองเครื่องเครื่องหนึ่งจะสร้างงานได้ดีและอีกเครื่องหนึ่งจะพ่นข้อผิดพลาด: คุณลักษณะ 'การใช้การประกาศ' ไม่พร้อมใช้งานใน C # 7.3 โปรดใช้ภาษาเวอร์ชัน 8.0 หรือสูงกว่า นี้สามารถแก้ไขได้อย่างง่ายดายบนเครื่องทำงานไม่มีโดยการตั้งค่าLangVersionใน.csprojขณะที่แนะนำที่นี่https://stackoverflow.com/a/48085575/3850405หรือให้ Visual Studio โดยอัตโนมัติแก้ไขมันเหมือนหน้าจอพิมพ์ดังกล่าวข้างต้น <LangVersion>8.0</LangVersion> สิ่งที่ฉันไม่เข้าใจคือสาเหตุที่เครื่องหนึ่งสร้างได้ดีหากไม่มีบรรทัดนี้.csprojและเครื่องอื่นต้องการมัน
24 c#  .net-4.6 

3
จะประกาศภารกิจที่ยังไม่เริ่มต้นซึ่งจะรองานอื่นได้อย่างไร
ฉันทำการทดสอบหน่วยนี้แล้วและฉันไม่เข้าใจว่าทำไม "รอ Task.Delay ()" ไม่รอ! [TestMethod] public async Task SimpleTest() { bool isOK = false; Task myTask = new Task(async () => { Console.WriteLine("Task.BeforeDelay"); await Task.Delay(1000); Console.WriteLine("Task.AfterDelay"); isOK = true; Console.WriteLine("Task.Ended"); }); Console.WriteLine("Main.BeforeStart"); myTask.Start(); Console.WriteLine("Main.AfterStart"); await myTask; Console.WriteLine("Main.AfterAwait"); Assert.IsTrue(isOK, "OK"); } นี่คือผลลัพธ์ของการทดสอบหน่วย: สิ่งนี้เป็นไปได้อย่างไร "รอ" ไม่รอและเธรดหลักยังคงดำเนินต่อไป?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.