Saya mencoba menargetkan .NET 4.6 dan juga memanfaatkan versi C # terbaru dengan mengubah versi bahasa C # menjadi 6.
Namun selama kompilasi saya mendapat kesalahan ini:
Kesalahan Opsi '6' tidak valid untuk / langversion; harus ISO-1, ISO-2, 3, 4, 5 atau Default
Jika saya memperbarui pengaturan /langversion:6
di Web.Config ke 5, ini berfungsi,
<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">
Tetapi bagaimana cara mengatasi ini tanpa menggunakan versi bahasa yang lebih rendah?
Saya menggunakan Visual Studio 2015 Community Edition, dan saya juga telah menginstal .NETFramework 4.6 secara manual jika tidak diinstal secara default oleh Visual Studio 2015.
Proyek ini adalah proyek template ASP.NET MVC standar yang dibuat oleh Visual Studio 2015.
c#
.net
asp.net-mvc-5.2
.net-4.6
Rosdi Kasim
sumber
sumber
/langversion:6
...Jawaban:
Perhatikan compiler "type" di
Web.Config
file tersebut, saat mengubah versi Framework:untuk 4.5 dan C # 5 -
type="Microsoft.CSharp.CSharpCodeProvider...
untuk 4.6 dan C # 6 -
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
Info lebih lanjut di posting forum ini
sumber
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701" />
Hanya membersihkan solusi dan mengkompilasi ulang memperbaikinya untuk saya di VS 2019.Perbarui paket NuGet berikut (mana saja yang diinstal) untuk menyelesaikan masalah:
sumber
1. Buka Proyek dan pilih properti Proyek Anda.
2 Pilih Bangun dan Klik Tombol Lanjutan.
3. Pilih default Versi Bahasa.
4. Simpan.
https://youtu.be/IP8feQeWqkk
sumber
Saya menemui perilaku seperti itu jika proyek tidak sepenuhnya ditingkatkan ke VS2015. Jika Anda membuka solusi dari 2015 di VS2013 - Anda akan mendapatkan kesalahan ini
sumber
Buka konsol NuGet Package Manager dan jalankan perintah berikut ini
Perbarui-Paket Microsoft.CodeDom.Providers.DotNetCompilerPlatform -r
sumber
Lihat jawaban untuk kesalahan kompilasi aneh ASP.NET! .
Menurunkan bahasa C # Anda menjadi 5 hanya menutupi masalah, segera setelah seseorang menggunakan fitur C # 6, situs web / proyek Anda akan rusak dan Anda masih akan menghabiskan waktu untuk memperbaikinya lagi. Coba solusi di tautan.
sumber
Saya mengalami masalah serupa ketika saya memuat aplikasi untuk pertama kalinya di visual studio 2019. Memperbarui nuget "Microsoft.CodeDom.Providers.DotNetCompilerPlatform" ke versi yang lebih baru melakukan trik untuk saya.
sumber