Aspnetcore: Dukungan Visual Basic .NET (VB.NET) di ASP.NET Core

Dibuat pada 3 Jan 2018  ·  91Komentar  ·  Sumber: dotnet/aspnetcore

Ada banyak pertanyaan yang diajukan tentang dukungan VB.NET di ASP.NET Core selama beberapa tahun terakhir. Jika Anda mengikutinya, semuanya mengarah ke jalan buntu - baik ditutup tanpa respons nyata, atau dipindahkan ke repositori lain yang tidak terkait dengan ASP.NET Core (seperti di suatu tempat di organisasi dotnet ).

Selama waktu itu, ada pembicaraan untuk mendukung VB. Sangat dapat dimengerti bahwa ASP.NET Core tidak mendukung VB sejak awal. Proyek ini mengalami banyak perubahan cepat, jadi masuk akal untuk fokus pada C # pada awalnya dan menambahkan dukungan untuk bahasa lain nanti. Tetapi ide untuk mendukung VB sepertinya hilang di sepanjang jalan.

Berikut garis waktu singkatnya:

16 Desember 2014:

Kami berencana untuk memiliki poin yang dapat diperpanjang sehingga bahasa lain seperti VB, F #, dll dapat ditambahkan melalui bentuk paket dukungan atau semacamnya.
https://github.com/aspnet/Home/issues/236#issuecomment -67046039

25 April 2015:

Hai semuanya, kabar baik! Kami telah mengumumkan rencana untuk mendukung VB di ASP.NET 5 / DNX!
https://github.com/aspnet/Home/issues/236#issuecomment -96003847

Kami sangat senang hari ini untuk mengumumkan bahwa ASP.NET 5 akan memiliki dukungan penuh dengan Visual Basic (baik perkakas maupun runtime - termasuk dukungan runtime lintas platform).
https://blogs.msdn.microsoft.com/webdev/2015/04/24/making-it-better-asp-net-with-visual-basic-14/

19 November 2016:
Dukungan VB menghilang dari peta jalan:

 |1.0.4|Feb 2017|
 |1.2|Q2 2017|

-## Future Work
-
-Visual Basic support.
-
 <em><sup>*</sup> References to yearly quarters (Q1, Q2, Q3, Q4) are calendar-based</em>

https://github.com/aspnet/Home/wiki/Roadmap/_compare/2138fe4ff8a437e8edefc333189aaa8d9b5afb6a...b49bda1f8f40975b39d14d199a9ddac0a2beb45e

12 Desember 2017:

tidak ada rencana untuk menambahkan template VB untuk ASP.NET Core
https://github.com/aspnet/Home/issues/2305#issuecomment -351501913

Dukungan VB tampaknya telah hilang

"Ini belum berhasil, tapi kami berencana untuk mengizinkan VB"

untuk

"Akan ada dukungan penuh untuk VB!"

untuk

"VB tidak didukung, tapi sst, jangan beri tahu siapa pun".

Jadi pertanyaan pertama saya adalah:

Apa yang terjadi dan mengapa tidak ada pengumuman atau diskusi dengan masyarakat tentang hal ini?

Tampaknya aneh untuk beralih dari mengumumkan dukungan untuk VB.NET di ASP.NET Core dalam posting blog resmi, menjadi tidak mendukungnya sama sekali tanpa umpan balik. Apakah ada pengumuman tentang ini? Jika ada, tentu tidak dipublikasikan secara luas.

Pertanyaan saya berikutnya, dan _lebih penting_ adalah:

Apa yang dapat dilakukan komunitas VB untuk membantu menambahkan dukungan untuk VB.NET ke ASP.NET Core?

Apakah ada template proyek yang bisa kita tulis?
Apakah ada generator kode yang bisa kita implementasikan?
Apa yang dapat kami lakukan untuk membuat ASP.NET Core sama mengagumkannya dengan developer VB seperti untuk developer C #?


Saya telah mengumpulkan aplikasi ASP.NET Core sederhana (tautan dihapus karena repo sudah kedaluwarsa) di VB dengan membuat aplikasi konsol .NET Core, mengedit file proyek dan menyalin kelas yang dihasilkan dari ASP.NET Core C # template. Ini berfungsi dengan baik, dan meskipun itu hanya sangat mendasar, saya tidak dapat melihat alasan mengapa VB.NET tidak dapat didukung.

Komentar yang paling membantu

+1
Visual Basic selalu menjadi bahasa terpenting di dunia .NET. VB masih banyak penggemar dan gunakan sampai sekarang! Meskipun banyak orang yang mengerjakan proyek C # di tempat kerja mereka, tapi saya yakin banyak orang seperti saya, suka menggunakan VB di proyek sendiri.

Semua 91 komentar

cc @

Saya mencatat masalah lama kembali untuk menggunakan VB bersama dengan .cshtml dalam repo Razor , sejak itu saya tidak melihat tindakan apa pun 😟.
Beberapa minggu yang lalu saya melihat contoh bagus dari @DamianEdwards yang mendemonstrasikan aplikasi VB ASP.NET Core di sini

Selain penjumlahan luar biasa @reduckted , dokumentasi Microsoft untuk sintaks Razor untuk ASP.NET Core (seperti pada 2017-10-18) masih memiliki banyak referensi ke Visual Basic dan menggunakan file .vbhtml:

Pembatasan ini tidak berlaku untuk file .vbhtml Razor karena sintaks Visual Basic menempatkan tanda kurung di sekitar parameter tipe generik, bukan tanda kurung.

Namun ScottAddie @ MSFT telah memberikan komentar pada 2017-07-21:

ASP.NET Core belum mendukung VB.NET. Anda harus tetap menggunakan ASP.NET untuk saat ini.

Jadi, apakah file Visual Basic / vb.net / .vbhtml akan disertakan dalam .Net Core? Dan jika demikian, kapan ??

Bagaimana kami dapat membantu mewujudkan dukungan ini? Saya ingin sekali melihat dukungan VB.Net dan F #!

Saya mengirim PR untuk menghapus referensi VBHTML dari dokumen ASP.NET Core: https://github.com/aspnet/Docs/pull/5201

Saat ini tidak ada rencana untuk memperkenalkan dukungan VBHTML ke ASP.NET Core.

Kami memiliki template F # untuk ASP.NET Core, yang diinstal sebagai bagian dari .NET Core SDK.

@Eilon Saat ini tidak ada rencana untuk memperkenalkan dukungan VBHTML ke ASP.NET Core.

Secara pribadi, saya tidak khawatir tentang dukungan VBHTML karena saya tidak menggunakan halaman Razor, dan tidak bermaksud demikian. Seperti yang disebutkan oleh @AnthonyDGreen (https://github.com/dotnet/vblang/issues/238#issuecomment-354927626), tidak masuk akal untuk menambahkan dukungan VB padanya karena jarang digunakan di MVC 5, dan, Saya membayangkan, akan membutuhkan pekerjaan yang sangat besar untuk tidak banyak keuntungan.

@Eilon Kami memiliki F # template untuk ASP.NET Core, yang diinstal sebagai bagian dari .NET Core SDK.

Oke, tapi saya tidak begitu yakin apa maksud Anda di sini. Jika ada, bukankah ini hanya memperkuat fakta bahwa _harus_ ada template VB juga?

Bukankah templat F # dibuat oleh komunitas F #? Jika tim di Microsoft tidak mau membuat template VB, lalu mengapa template VB tidak bisa dibuat oleh komunitas VB?

@reduckted pertanyaannya turun ke permintaan untuk itu dan biayanya - baik biaya awal maupun biaya berkelanjutan. Permintaan sangat rendah, seperti disebutkan sebelumnya. Biaya untuk membuat satu set template awal mungkin tidak banyak, tetapi seseorang harus memeliharanya. Dengan F # kami memiliki orang-orang di Microsoft yang berkomitmen untuk memeliharanya. Kami tidak memiliki orang seperti itu untuk VB saat ini.

Juga, satu batasan dengan template F # adalah mereka lebih fokus pada sisi API; yaitu, tidak ada Razor atau CSHTML (karena tidak ada FSHTML). Dengan pengguna VB, tebakan saya adalah bahwa sebagian besar pengguna yang menggunakan VB mengharapkan pengalaman VBHTML untuk MVC, dan biaya produksinya sangat besar - bulan dan bulan kerja. Jadi, tidak jelas bagi saya bahwa menambahkan template VB terbatas akan sangat berharga.

@Eilon Dengan pengguna VB, tebakan saya adalah bahwa sebagian besar pengguna yang menggunakan VB mengharapkan pengalaman VBHTML untuk MVC ...

Anda mungkin ingin berbicara dengan @AnthonyDGreen , karena itulah _opposite_ dari apa yang dia katakan di komentar yang sebelumnya saya tautkan (https://github.com/dotnet/vblang/issues/238#issuecomment-354927626). Saya akan mengutipnya kali ini (penekanan ada pada saya):

Mesin silet .vbhtml dari MVC 5 tidak di-porting ke Core terutama karena kurang dari 1% dari semua proyek web VB menggunakannya setelah 5 versi.

@reduckted - menarik, itu berita bagi saya. Saya berpikir kembali ke hari Formulir Web, yang awalnya dirancang dengan konsep yang akrab bagi pengembang VB (VB6, khususnya), dan Formulir Web sangat HTML-sentris (agak), sehingga membuat saya berpikir bahwa VBHTML akan menjadi paling menarik bagi kelompok orang itu. Kemudian lagi, itu ~ anec-data berusia ~ 15 tahun 😄

BTW untuk menjadi jelas, kami belum mengatakan bahwa kami tidak akan pernah melakukannya - hanya saja saat ini tidak ada dalam rencana apa pun.

Saya penggemar VB 😄, yang saya perkirakan .vbhtml out-of-the-box, pendekatan hybrid yang saya sebutkan sebelumnya tidak cukup untuk semua VB guys, tapi tidak masalah dalam beberapa kasus. Pertanyaan saya adalah beberapa menerapkan ulang Razor untuk mengeluarkan VB daripada C # apakah itu akan berhasil, atau MVC digabungkan erat pada cshtml C #?

@hishamco Sayangnya Razor diimplementasikan sehingga VB dan C # adalah jalur yang terpisah. Saya telah berbicara dengan beberapa orang yang terlibat dan ini adalah proyek yang cukup besar.

@KathleenDollard Ada proyek lain NET Inti yang ViewEngines dukungan kustom untuk .pug & .md jenis file.

Tentunya kita bisa membuatnya bekerja untuk file .vbhtml razorpages menggunakan .vbproj dengan <Project Sdk="Microsoft.NET.Sdk.Web"> .

@ tb-mtg Semuanya open source jika Anda ingin menjelajahinya dan melihat apa yang dilakukan proyek tersebut. Orang-orang yang menulisnya memberi tahu saya bahwa itu adalah upaya besar. Ukuran usaha dan adopsi vbhtml yang sangat rendah di versi MVC sebelumnya membuatnya sulit dijual.

@KathleenDollard Saya akan mengulangi pertanyaan saya lagi, Jika saya menerapkan kembali Razor untuk memancarkan VB alih-alih C # apakah itu akan berhasil, atau MVC digabungkan erat pada cshtml C #?

@hishamco itu akan menjadi pertanyaan yang bagus untuk @rynowak . Ryan?

Mesin kompilasi runtime MVC menggunakan infrastruktur Roslyn untuk mengkompilasi C #, dan mengharapkan / memerlukan pengaturan sistem proyek C # untuk diteruskan melalui .deps.json . MVC tidak memiliki penggandengan yang erat ke kode yang dihasilkan, tetapi MVC menyediakan infrastruktur untuk mengompilasi tampilan C # saat runtime menggunakan pengaturan yang dihasilkan oleh proyek C #.

Siapa pun yang ingin mengompilasi VB saat runtime perlu mengimplementasikan mesin tampilan yang melakukannya.

Terima kasih @rynowak atas klarifikasi Anda

menggunakan infrastruktur Roslyn untuk mengkompilasi C #, dan mengharapkan / memerlukan pengaturan sistem proyek C # untuk diteruskan melalui .deps.json

Jika saya menerapkan mesin tampilan VB - atau mengkloning C # satu dengan modifikasi -, pengaturan apa yang harus saya berikan ke .deps.json untuk mewujudkannya?

+1
Visual Basic selalu menjadi bahasa terpenting di dunia .NET. VB masih banyak penggemar dan gunakan sampai sekarang! Meskipun banyak orang yang mengerjakan proyek C # di tempat kerja mereka, tapi saya yakin banyak orang seperti saya, suka menggunakan VB di proyek sendiri.

@AnthonyDGreen @KathleenDollard

Mesin silet .vbhtml dari MVC 5 tidak di-porting ke Core terutama karena kurang dari 1% dari semua proyek web VB menggunakannya setelah 5 versi.

Lalu, apa yang digunakan 99% lainnya?

Angular, atau perpustakaan front-end serupa lainnya, saya kira. Itulah yang saya gunakan.

Sebenarnya itu juga yang saya rencanakan dengan proyek web baru kami pindah ke Angular dari ASP.Net MVC Razor, saya harus melakukan 4 proyek web baru tahun ini, jadi jika seseorang terus menghitung .. LOL

VB telah menjadi bahasa populer selama bertahun-tahun! Sebagai perusahaan, kami pasti memiliki banyak cuplikan kode yang tidak ingin kami tulis ulang di C # Saya yakin ada banyak aplikasi formulir web sekolah lama yang akan ditulis ulang terutama dengan aturan UE baru yang mulai berlaku, ini berarti VB akan sangat diinginkan! Saya merasa luar biasa bahwa microsoft meniup begitu panas dan dingin di VB satu menit dikembangkan secara setara, selanjutnya adalah kerabat yang malang! Ya, bahasa dan kerangka kerja baru akan keluar tetapi jangan hanya membuang yang lama yang populer!

Senang bisa dilacak di sini, semoga bisa melihat beberapa tindakan nanti.

Semua tanda (kata musang) dari MS adalah bahwa mereka berencana untuk membodohi VB.NET, dan / atau tidak melakukan apa-apa dan menunggu orang lain untuk menulis bit yang hilang. Saya melupakan kata-kata musang mereka, saya keluar dari pengembangan VB.NET sekarang.

Saya hanya berharap ketika Microsoft memperoleh GitHub, itu tidak mendapatkan perlakuan yang sama seperti yang dilakukan VB.Net (dibiarkan mati dengan janji kosong dukungan penuh).

@NatShaw Saya adalah PM untuk Visual Basic.Net.

Saya tidak yakin apa yang Anda maksud tentang perencanaan untuk membodohi VB.NET, tetapi tidak ada rencana untuk melakukan itu. Strategi bahasa Visual Basic tetap tidak berubah.

Razor untuk VB bermasalah. Untuk alur kerja pengembangan utama, WebAPI adalah alur kerja yang bagus untuk VB seperti yang ditunjukkan di sini. (selain dari template)

@ tb-mtg VB.Net tidak ditinggalkan begitu saja. Ada peningkatan konstan - peningkatan kecil dalam bahasa dan berfungsi seperti IOperation untuk membuat dukungan untuk Visual Basic di Roslyn analyzer mudah untuk mendukung VB di seluruh ekosistem. Benar bahwa VB berfokus pada skenario yang sudah baik, dan skenario baru yang sesuai daripada semua skenario baru. Misalnya, Scott Hunter telah mengumumkan VB.Net akan bekerja dengan .NET Core 3.

Potongan @KathleenDollard sudah hilang - .Net Core 2.x - di mana semua template VB? Jenis referensi yang tidak dapat dibatalkan? C # saja. Rencana masa depan bagus untuk masa depan tetapi VB sudah kehilangan banyak hal sekarang.

Ini adalah tema untuk Microsoft menciptakan teknologi hebat dan meninggalkannya. Mereka meninggalkan VB, bahasa yang membangun perusahaan dan menjadi toko khusus C #. Saat teknologi baru diperkenalkan, saya berharap semua bahasa didukung. Sayangnya Microsoft baru ini tidak melakukan pekerjaan sebaik yang mereka lakukan 15 tahun lalu dalam menjaga semua bahasa menjadi mitra yang setara. Sayang sekali, saya memiliki 10-an dari ribuan baris VB dan berharap untuk lintas platform dengan menggunakan inti asp.net. Sekarang dengan formulir web yang ditinggalkan di inti asp.net dan tidak ada VB saya terjebak. Saya dapat mengubah bahasa atau ??. Jika saya berupaya mengubah bahasa Ini akan menjadi sesuatu selain Microsoft, itu akan menjadi bahasa yang dibangun untuk mendukung semua platform. Saya lelah didiskon dan dipecat karena menjadi pengembang VB yang sangat baik. Mungkin sudah waktunya untuk mengambil perusahaan dan kode saya dan meninggalkan microsoft setelah 30 tahun menggunakan dan menjual platform dan bahasa microsoft. Sikap merendahkan dari manajemen .net terhadap VB semakin berlebihan. Masih banyak dari kita para VBers di sini yang sangat kecewa dengan microsoft akhir-akhir ini. Akan lebih baik jika VB dibuat open source sehingga komunitas bisa memajukannya di semua platform.

@SrqComputerguy Mereka meninggalkan VB

Salah. @KathleenDollard mengatakan secara harfiah _ hari yang lalu_ di _ utas ini_, bahwa "Strategi bahasa Visual Basic tetap tidak berubah." (komentar)

@SrqComputerguy Sayang sekali, saya memiliki 10-an dari ribuan baris VB dan berharap untuk pergi lintas platform dengan menggunakan inti asp.net. Sekarang dengan formulir web yang ditinggalkan di inti asp.net dan tidak ada VB saya terjebak.

Formulir web adalah teknologi lama (praktis kuno menurut standar perangkat lunak), jadi tidak mengherankan jika tidak didukung dalam .NET Core (dengan VB.NET _atau_ C #). Lihat entri blog ini dari awal minggu ini tentang menggunakan VB.NET dengan ASP.NET Core.

@SrqComputerguy Jika saya benar-benar berusaha mengubah bahasa Itu akan menjadi sesuatu selain Microsoft, itu akan menjadi bahasa yang dibangun untuk mendukung semua platform .

VB.NET _adalah lintas platform, hanya saja tidak dengan formulir web.

@SrqComputerguy Alangkah baiknya VB dibuat open source agar masyarakat bisa memajukannya di semua platform.

😕 Benar. https://github.com/dotnet/vblang

@reduckted C # memiliki template 'ASP.NET Core Web Application' - VB tidak. Apakah itu benar? Jenis referensi non-nullable - bukan untuk VB.

Strategi ini sudah adalah bahwa VB tidak lagi menjadi warga negara 1 kelas - tidak ada perubahan! Artikel tautan @KathleenDollard agak menghina, memberi tahu kami fitur baru yang keren ini tidak baik untuk kami karena akan membuat kode VB kami terlalu berantakan. Benar-benar omong kosong kata musang. Contoh:

  • VB 15 hadir dengan subset dari fitur baru C # 7.0
  • Kami akan memfokuskan inovasi pada skenario inti dan domain tempat VB populer.
  • Namun, VB 15 tidak mendapatkan fitur seperti ekspresi is-ekspresi, variabel-luar dan fungsi lokal, yang mungkin akan lebih merugikan daripada baik untuk keterbacaan VB, dan menambah secara signifikan jumlah konsepnya.

Ini sudah berakhir. Mereka membodohi itu.

Teknologi lama bukan berarti tidak berguna. WebFrom bekerja sangat baik untuk aplikasi lini bisnis di mana kita tidak membutuhkan SEO, tetapi kita membutuhkan lintas platform. WebForm membuat tampilan dan nuansa versi winform terlihat dan berfungsi serupa. Itu juga memiliki banyak skenario bisnis yang berfungsi dengan baik. Tidak semuanya harus menjadi aplikasi angular.js C # MVC atau seharusnya demikian. Namun itu adalah satu-satunya alat yang MS tingkatkan saat ini.

Mengapa halaman pisau cukur (yang diperbarui halaman asp untuk .net) mendapatkan cinta C # pada intinya dan bukan VB?

MS bahkan membeli proyek Mono jadi sekarang yang mendukung C # terlebih dahulu dan hanya jika mereka mendapatkan ok, VB akan mendapatkan cinta disana.

MS memberi Python lebih banyak cinta daripada VB. Python lebih merupakan bahasa lintas platform daripada C # atau VB yang mana VBer ini mungkin akan pergi di masa depan.

Sayangnya MS mengandalkan bahasa yang masih tidak tahu bagaimana mengatakan akhir baris tanpa;

Apakah MS bahkan memiliki tim VB lagi? Mereka tidak memiliki keberadaan web. Untuk kemajuan kita harus mencari di tempat lain.

Itu bagus saat itu berlangsung. VB RIP.

Hai,

Dapatkah seseorang di Microsoft mempertimbangkan kembali upaya untuk mengkompilasi vb dalam tampilan pisau cukur (.net core)? Saya pikir proyek blazor memungkinkan cara baru untuk berbagi banyak kode yang ada di vb untuk membuat aplikasi web baru.

VB .NET sekali lagi populer karena Anda dapat melakukan hal yang sama dengan C #. Saya pikir jika vb tertinggal, Anda akan secara efektif mengakhiri popularitasnya.

Kami mem-porting aplikasi winforms VB yang sangat besar ke aplikasi web. Kami 50% dalam cara menulis ulang kerangka kami di JS, tetapi dengan blazor itu akan lebih cepat, lebih bersih dan kami dapat berbagi banyak kode yang ada. Akan luar biasa jika kita juga dapat mengkodekan tampilan dengan VB daripada C #. Tidak semuanya MVC dan pisau cukur.

Jadi, mungkin fokus pada blazor akan membuat usaha lebih kecil?

Setelah harus bekerja dengan kode VB modern dan lama selama beberapa tahun sekarang, saya tidak sabar menunggu verbositasnya mati. Saya pikir cerdas bagi Microsoft untuk fokus pada satu gaya bahasa (C).

@sukabumi_jogja

Dukungan pisau cukur telah dipertimbangkan dan dipertimbangkan kembali.

Meskipun sangat mengasyikkan, saat ini Blazor adalah upaya eksperimental, tanpa rencana produk. Saya setuju bahwa jika Blazor menjadi produk, ada baiknya mempertimbangkan kembali cerita VB dan saya berharap itu akan terjadi. Apakah itu menghasilkan perubahan strategi terkait dukungan VB, saya tidak tahu.

Tiga pertanyaan untuk Anda:

  • Apakah pengumuman tentang WinForms yang bergerak maju ke .NET Core 3 membuat Anda mempertimbangkan kembali keputusan Anda untuk mem-porting kode WinForms?

  • Anda menulis ulang untuk web. Apakah Anda menggunakan back end VB WebAPI seperti ini: Menggabungkan Angular, Visual Basic, dan .NET Core untuk mengembangkan aplikasi web modern ?

  • Anda menggunakan JS, yang berarti sebagian dari tim Anda secara efektif menggunakan bahasa kurung kurawal. Apa alasan Anda tidak beralih ke C #?

Tidak ada yang dilakukan di C # secara eksklusif yang tidak bisa dilakukan di VB. MS membuat konverter IL. Ini masalah kemauan.

Ini pertanyaan untukmu. Jika Anda memiliki sejumlah besar aplikasi lini bisnis yang memiliki versi web .net 4.5.2 yang terlihat dan berfungsi seperti versi desktop, bagaimana MS menyarankan agar aplikasi tersebut lintas platform.

Jadi apakah resmi bahwa MS membodohi Ide untuk memasukkan pengembang VB dalam gelombang Inti Asp.net dan tidak tertarik untuk menghabiskan sumber daya untuk itu?

@ sreenathGanga1988 We'e mengumumkan bahwa saat ini tidak ada rencana untuk mendukung Razor di .NET Core di Visual Basic.NET. WebAPI yang ada di ASP.NET Core sebagai bagian dari MVC didukung. Hanya Razor yang tidak didukung. Mesin Razor rumit, dan dibuat untuk satu bahasa.

@KathleenDollard Anda dapat membuat VBHTML.Contrib untuk memungkinkan penggemar VB berkontribusi membangun mesin silet menggunakan Mesin Razor saat ini untuk mendukung VB

Orang-orang yang menulis versi baru Razor percaya bahwa sangat rumit untuk memasukkan Visual Basic, karena tidak dirancang untuk banyak bahasa. Saya belum melihat kodenya, tetapi akan mempercayai pendapat orang-orang itu. Berdasarkan itu, saya tidak akan membuat garpu.

Namun, ASP.NET adalah open source karena suatu alasan. Jika sekelompok pengembang VB membuat garpu di mana saja dan membuktikan bahwa mereka salah, itu akan menjadi agak keren. Saya senang memiliki masalah ini atau masalah lain dalam repo ini menunjuk ke proyek, dan jika saya akan men-tweet keberadaan dan kemajuannya jika diinginkan.

Saya telah meletakkan dasar dengan .NET Foundation untuk ruang Visual Basic (mungkin memberi kontribusi, mungkin sesuatu yang lain) sehingga ada cara untuk mengelola kepemilikan dan hal-hal admin semacam itu untuk proyek dalam komunitas Visual Basic. Namun, mereka membutuhkan bukti bahwa ada komunitas yang akan memiliki repo yang menyediakan barang-barang yang diinginkan orang (Yayasan bekerja untuk menghindari proyek mati). Saya berharap template Entity Framework akan menjadi benih itu, tetapi itu tidak berjalan dengan baik. Ini tidak khusus untuk VB, dan itulah mengapa Anda melihat sesuatu di repositori pribadi: Template VB EF di @bricelam , katalog alat global di @natemcmaster , dan versi bercabang dari parser baris perintah @natemcmaster sementara kami mengerjakan yang baru .

Jadi, sementara proyek dan prototipe tidak cukup untuk menarik perhatian Foundation, jika proyek yang berhasil muncul, itu dapat dipindahkan ke .NET Foundation.

Terima kasih atas klarifikasi Anda, tetapi saya masih tidak yakin mengapa Razor dibangun untuk menargetkan C # hanya sementara Roslyn dapat mendukung keduanya !!

Saya belum melihat kode Razor untuk mengetahui apakah itu secara langsung membangun pohon sintaks, tetapi dengan asumsi itu ...

Roslyn bekerja dengan pohon sintaks yang spesifik, eksplisit, dan mentah yang berbeda untuk C # dan VB. Misalnya, sei-colon dan curly braces ada di C #, bukan VB. End Sub dan Handles ada di VB dan bukan pohon sintaks C #.

@Bayu_joo

Ya, saya mengerti proyek blazor bersifat eksperimental, tetapi mengkompilasi ke perakitan web dan ini adalah cara yang lebih mudah untuk melakukan aplikasi lintas platform (berbagi kode yang ada di server dan klien, kebetulan saya menyukai server windows dan ASP .NET jadi saya lebih suka menjalankan server yang mendukung kerangka .NET penuh untuk menggunakan kembali basis kode yang ada).

Adapun pertanyaan Anda:

  1. .NET core 3 tidak membuat aplikasi WinForms lintas platform, jadi tidak menambahkan terlalu banyak.

  2. Saya menulis ulang untuk web karena itu membuat aplikasi kami lintas platform. Kami menggunakan pengontrol ASP .NET untuk berbagi kode yang ada, jadi di server kami tidak memiliki masalah. Seperti yang saya katakan, kami menggunakan kerangka kerja kami sendiri, yang mulai menyediakan fungsionalitas yang sama di JS, tetapi kami perlu menulis ulang kode klien lagi, dan mengujinya, dan UI masih mengambil setidaknya 80% pengembangan. waktu.

  3. Kami mulai mem-port framework kami ke JS sebelum project blazor. Menulis ulang dalam C # tidak akan membuat aplikasi klien kami lintas platform, namun tetap harus menargetkan browser atau mengonversi ke Xamarin atau yang lainnya, jadi usahanya sama.

Saya memprogram dalam C, C ++, C #, VB, JS dan tahu cara menggunakan beberapa tumpukan, tetapi kami memiliki beberapa anggota di tim kami yang akan kesulitan untuk mengonversi ke bahasa lain. Bagaimanapun, intinya adalah menggunakan kembali basis kode kami yang telah diuji, bukan menulis ulang. Jika blazor dapat mengkompilasi VB dalam tampilan, itu akan menghemat banyak waktu, itu saja.

Juga aneh bagi pengguna untuk memahami bahwa mereka dapat mengkompilasi tampilan pisau cukur sebelumnya di VB .NET dengan kerangka kerja lengkap. Sepertinya Anda meninggalkan VB. Dan semuanya dimulai dengan .NET core, bukankah pertama kali merupakan proyek eksperimental?

Untuk menambahkan lebih banyak konteks, kami memporting tiga ERP kritis misi, untuk lini bisnis yang berbeda.

Salam.

@sukabumi_jogja

Terima kasih telah berbagi lebih banyak tentang skenario Anda.

Mesin Razor ditulis ulang untuk ASP.NET Core dan di situlah upaya untuk berbagai bahasa tidak dilakukan. Penggunaan mesin Razor versi VB yang rendah merupakan salah satu faktor pendorong. Dan ya, keberadaan Blazor membuat keputusan itu cukup menyakitkan.

@Bayu_joo

Terima kasih Kathleen karena telah membagikan wawasannya. Saya berharap bahasa di .NET tidak mulai bersaing satu sama lain, salah satu hal yang paling menarik dengan .NET adalah bahasa dan interoperabilitas di antara mereka, sekarang tampaknya tidak lagi demikian. Sekarang tidak cukup memilih .NET sebagai tumpukan pengembangan, saya rasa kita juga harus berhati-hati dengan bahasa yang kita pilih. Sayang, rasanya seperti melangkah mundur.

Pada pertanyaan terakhir, saya pikir pisau cukur telah ditulis dengan baik sebelum .NET core, dengan halaman web ASP .NET dan webmatrix, jadi saya pikir maksud Anda bahwa mesin pisau cukur itu ditulis ulang dalam .NET core yang menargetkan C #. Apakah saya benar?

Semoga berhasil.

Halo,
Saya telah menemukan posting ini: Mengapa bukan Razor? .
Apa pendapat Anda tentang menghindari sepenuhnya penggunaan sintaks Razor dalam proyek ASP .NET Core dan Blazor demi pengembangan C # dan VB.NET murni? Apakah kita yakin bahwa kita membutuhkan sintaks Razor untuk mengembangkan aplikasi web yang membutuhkan file HTML5 dan CSS?

Salam,
Filippo.

@tokopedia

Oh baiklah itu sebelum blazor. Masalahnya adalah Anda membutuhkan mesin template di klien, dan dalam kasus blazor hanya itu. Dalam blazor razor dijalankan di browser bukan di server (tapi bisa dijalankan di server jika diperlukan). Jadi, orang-orang mencoba berbagi kode antara klien dan server di browser selama berabad-abad. Berbagi kode validasi akan menjadi kasus yang sederhana, tetapi dalam kasus kami, kami membagikan model yang mendeskripsikan metadata sehingga komponen dapat mengkonfigurasi sendiri menggunakan metadata tersebut.

Node.JS menjadi populer karena Anda dapat berbagi kode antara browser dan server. Jadi mengapa tidak membagikan kode .NET antara browser dan server? Razor dikompilasi ke webassembly dengan kode bersama Anda, dan hanya itu. Ya, Anda dapat mengompilasi dan menjalankan serta mendistribusikan aplikasi Anda, tetapi browser memiliki kemampuan lintas platform yang lebih baik dan Anda akan menargetkan lebih banyak platform dengan kode yang sama. Saya juga melihat WPF dikompilasi ke webassembly jika Anda ingin melakukannya.

Kami lebih suka memanfaatkan komponen JS yang ada dan menggabungkannya dengan basis .NET kami, tetapi kami lebih memilih .NET dan pisau cukur sebagai pengganti kerangka kerja JS lainnya, seperti angular. Ini 10x lebih produktif jika Anda tahu apa yang Anda lakukan, setidaknya untuk kami.

Salam.

@mcurros Ya, banyak hal yang telah dikerjakan ulang / ditulis ulang di ASP.NET Core (lihat model pipeline sebagai contoh), termasuk Razor.

@mcurros Ok, memang benar bahwa kita membutuhkan mesin template tetapi masalahnya adalah sintaks Razor tidak didukung oleh desainer WYSIWYG yang solid.
Misalnya Blazor menggunakan Bootstrap sebagai pustaka CSS. Ada desainer yang menarik untuk Boostrap bernama Bootstrap Studio tetapi tidak mendukung sintaks Razor.
Untuk aplikasi desktop WinForms, ada desainer WYSIWYG yang baik untuk mendesain antarmuka dengan cepat, untuk XAML yang sama. Ada desainer yang dapat kita gunakan untuk membuat HTML5-CSS dengan cepat dengan tampilan sintaks Razor (.cshtml / .vbhtml)?

@tokopedia
Karena perangkat yang dapat menjalankan browser berada dalam urutan 10K, menurut saya membuat alat WYSIWYG yang akurat mungkin tidak sebanding dengan usahanya. Tren hari ini adalah menjalankannya di browser dan membiarkan browser melakukan rendering. Sampel Blazor menggunakan Bootstrap, tetapi pisau cukur adalah mesin templating, Anda dapat memancarkan apa yang Anda inginkan dan kerangka CSS / HTML yang Anda suka. Bagian yang menarik adalah, kompilasi untuk webassembly, dan pisau cukur yang dimodifikasi untuk menyediakan perutean SPA, dan semua hal yang Anda butuhkan untuk membangun klien SPA. Selain itu, jika perlu, Anda dapat membuatnya di server (untuk situs web publik dan pengindeksan mesin telusur). Saya pikir itu cukup keren.

Jadi blazor menyediakan kompilasi webassembly waktu nyata dan dijalankan di browser dengan mengaktifkan F5. Cepat, coba.

@mcurros Terima kasih atas jawaban Anda. Saya setuju dengan Anda meskipun menurut saya kemungkinan untuk mengubah struktur template dengan seret dan lepas menggunakan pratinjau browser mungkin sangat berguna.
Jika berpikir tentang pratinjau pengembang di mana komponen memiliki kemampuan untuk dipindahkan, diubah ukurannya dan disematkan di komponen lain dengan drag end drop, akhirnya memperbarui template CSHTML.
Misalnya Concrete5 memungkinkan Anda mengubah tata letak dengan cepat.
Beri tahu saya jika menurut Anda "mode desain" akan memungkinkan di masa mendatang.

Salam Hormat,
Filippo.

Saya tidak berpikir akan menjadi masa depan untuk VB:
Strategi baru Microsoft untuk mengakhiri co-evolusi C # dan Visual Basic akan membuatnya semakin kurang dihargai oleh para pengembang
C # adalah masa depan untuk pengembang .Net, jadi inilah waktunya untuk membatasi penggunaan Visual Basic ke sistem lama lokal

https://www.infoworld.com/article/3167210/application-development/visual-basic-is-the-odd-man-out-in-the-new-net.html

https://www.infoworld.com/article/3254564/application-development/doing-nicely-now-visual-basics-popularity-could-take-a-hit.html
https://blogs.msdn.microsoft.com/dotnet/2017/02/01/the-net-language-strategy/

250 juta baris kode, setengahnya masih digunakan, sekarang harus ditulis ulang. VB.Net terbunuh karena generasi terbaru programmer ketidaktahuan sepenuhnya tentang bahasa itu sendiri (dan semua idiot yang terus membandingkannya dengan Visual Basic - Apel ke Jeruk) dengan perbandingan palsu yang tidak masuk akal dalam kinerja dan vektor lainnya. RIP VB.Net dan jutaan pengembang yang akan kehilangan pekerjaan sebagai akibatnya.

Seperti @DamianEdwards , saya

https://github.com/mevdschee/aspnetcorevb

Contoh @marcusoftnet Damian keren menggunakan .cshtml untuk tampilan dan aplikasi lainnya di VB.NET , tetapi akan sangat keren menggunakan .vbhtml untuk tampilan 😃

Saya tidak tahu apa yang ada dalam pikiran Microsoft, memiliki Bahasa Pemrograman seperti VB di tangannya, mampu menyesuaikan area sisi klien dan sisi server di Web.

klien: vbscript
server: vb

Memoles VB adalah sesuatu yang akan menguntungkan Anda, dapat dimengerti, dapat dipahami, dan dapat disesuaikan, sangat menyakitkan dan nostalgia mengetahui bahwa vb.net tidak ada di web, tetapi itu adalah kesalahan Anda dan fokus hanya pada satu

Terjemahan Bing:
Saya tidak tahu yang memiliki Microsoft di kepala, memiliki bahasa pemrograman seperti VB yang dapat menyesuaikan di Web dari dua area sisi klien dan sisi server

Klien: VBScript
Server: VB

Memoles VB adalah sesuatu yang penerima manfaat, dapat dimengerti, dimengerti dan dapat beradaptasi, benar-benar memberikan banyak rasa sakit dan nostalgia untuk mengetahui bahwa vb.net tidak ada di web, tetapi itu adalah kesalahan Anda dan fokus hanya pada satu

Baru saja memperhatikan ini:
https://blogs.msdn.microsoft.com/vbteam/2018/11/12/visual-basic-in-net-core-3-0/

Apakah ini akan mengubah sesuatu?

Ini akan membuat VB.NET terus didukung untuk menambahkan fitur yang sudah ditambahkan di C #, tapi sekali lagi tidak ada vbhtml 😕

@hishamco Tidak. Sementara saya membagikan :( mesin Razor hanya mendukung C #.

Mesin Razor hanya mendukung C #

Itulah yang saya maksud 😄

Tibor Index Menunjukkan pertumbuhan VB.NET, bagaimanapun kita Membutuhkan vb razor

Seperti @DamianEdwards , saya

https://github.com/mevdschee/aspnetcorevb

@mevdschee Saya penasaran dengan proses yang Anda lalui untuk mem-portingnya ke VB.NET karena template proyek tidak tersedia melalui Visual Studio / tidak ada dukungan di VSCode. Bagaimana Anda melakukan ini?

@Webbarrr Saya mengubah kode C # ke VB dengan tangan dan menggunakan template Visual Studio C # untuk memulai.

@reduckted @hishamco @muratg @ tb-mtg @brunojuliao @Eilon @rynowak @CheungTatMing @VBDotNetCoder @ simonmilne80 @NatShaw @SrqComputerguy @ sreenathGanga1988 @mcurros @filippobottega @mrjohnr @beefydog @mevdschee @ Baner041986 @hannespreishuber @Webbarrr

Saya setuju bahwa vbhtml adalah penyebab yang hilang, karena kode VB.NET tidak cocok dengan sintaks HTML, CSS, dan JavaScript! Sebagai gantinya, saya meminta vbxaml!
Saya memposting saran ini di repo VB.NET beberapa bulan yang lalu:
https://github.com/dotnet/vblang/issues/329
Ini adalah kutipannya:

Biarkan VB.NET menggunakan gelombang WebAssembly baru:
Setelah WebAssembly dan Blazor, peluang tersebut terwakili dengan sendirinya: Logikanya sekarang untuk menulis XAML daripada HTML5 (perbedaannya minimal) dan menulis VB.NET alih-alih skrip Java (cara yang sama C # menggantikan Java sekarang di Blazor).
Sudah ada proyek bernama Ooui yang mencoba melakukan itu di C #.
Saya pikir, VB.NET harus melakukan hal yang sama, dan memiliki proyek untuk merancang halaman ASP.NET dengan kode XAML dan VB.NET, memanfaatkan pekerjaan yang dilakukan di SilverLight, Blazor dan Ooui. Jika ini dimulai sekarang, itu bisa tumbuh dengan mantap, alih-alih menunggu Blazor dan Ooui stabil dan kemudian MS mengatakan:
Maaf, akan mahal bagi VB.NET untuk menyusul!

VBlazor (.vbxaml) akan membuat pengembang desktop berpengalaman di VB.NET dan WPF / UWP pindah ke ASP.NET dengan lancar.

IMHO menggunakan XAML atau bahasa templating seperti Fluid akan membuat semua senang, karena Razor ditulis hanya untuk C #

VBLazor akan mirip dengan tampilan desain uwp / wpf, tetapi dengan dua file di belakang kode, satu untuk kode server vb.net, dan satu lagi untuk kode klien (skrip), dengan kemampuan untuk menggunakan pola MVVM untuk mengatur proyek besar. XAML akan mematuhi html5, gaya Xaml akan dikompilasi ke CSS, dan kode skrip VB.NET akan dikompilasi ke WebAssembly.

Saya menutup ini karena, sayangnya, cukup jelas bahwa tidak ada niat untuk menambahkan template proyek VB.NET untuk ASP.NET Core.

@reduckted @muratg @ tb-mtg @brunojuliao @rynowak @CheungTatMing @VBDotNetCoder @ simonmilne80 @NatShaw @SrqComputerguy @ sreenathGanga1988 @mcurros @filippobottega @mrjohnr @beefydog @mevdschee @ Baner041986 @hannespreishuber @Webbarrr

Terakhir: Contoh pisau cukur VB.NET ASP.NET MVC Core!
https://github.com/VBAndCs/VB.NET-Razor
Saya menerapkan VBRazorViewEngine sederhana di proyek VbRazor.
Untuk menggunakan VBRazorViewEngine dalam proyek, saya menambahkan dua pernyataan ini ke metode Startup.ConfigureServices:
`` VB.NET
services.AddTransient (Dari IConfigureOptions (Of MvcViewOptions), VBRazor.VBRazorMvcViewOptionsSetup) ()
services.AddSingleton (Dari IViewEngine, VBRazor.VBRazorViewEngine) ()


The VBRazor is just a VB class that implements the IVBRazor Interface:
```VB.NET
Public Interface IVBRazor
    ReadOnly Property Razor As String

End Interface

Properti Razor menggunakan literal xml untuk membuat kode HTML dan mengembalikannya sebagai string .. Contoh:
`` VB.NET
Mengimpor VbRazor

Tampilan Indeks Kelas Publik
Menerapkan IVBRazor

Dim students As List(Of Student)

Public Sub New(students As List(Of Student))
    Me.students = students
End Sub

Public ReadOnly Property Razor As String Implements IVBRazor.Razor
    Get
        Dim x = <html>
                    <h3> Browse Students</h3>
                    <p>Select from <%= students.Count() %> students:</p>
                    <ul>
                        <%= (Iterator Function()
                                 For Each std In students
                                     Yield <li><%= std.Name %></li>
                                 Next
                             End Function)() %>
                    </ul>
                </html>
        Return x.ToString()

    End Get
End Property

Akhiri Kelas


To use the IndexView from the Controller, I passed it to the View method as the model data in the action method, and passed the actual model data to its constructor:
```VB.NET
Public Function Index() As IActionResult
    Return View(New IndexView(Students))
End Function

Itu saja!! Jika Anda menjalankan proyek, Anda akan melihat halaman web ini:
VBRazor

Ini sangat mudah, tetapi membutuhkan lebih banyak pekerjaan, jadi saya harap Anda mulai berkontribusi pada proyek ini untuk menjadikannya alat yang sangat produktif!
Hal pertama yang harus dilakukan adalah membuat template VB.NET untuk ASP.NET MVC Core. Saya harus membuat proyek C # kemudian mengubahnya menjadi VB!

Hal kedua yang harus dilakukan, adalah menambahkan dukungan intellisense untuk atribut html dalam literal xml di VB!

Truth view engine perlu mengurai jenis template seperti yang telah kita lihat di Razor atau Markdown .. dll, tetapi apa yang Anda lakukan mudah karena markup terakhir dihasilkan dari kode di belakang yang merupakan class yang dihasilkan dari Razor.

@bayu_joo
Saya melakukan ini dalam beberapa jam, berkat literal XML VB, yang hampir terlupakan! Saya mungkin sendiri lupa tentang hal itu sampai beberapa minggu ketika saya mencoba memasukkan beberapa sintaks baru untuk disarankan, jadi saya menulis dan editor menyelesaikannya dengan tag penutup :) Namun, banyak yang harus dilakukan untuk menjadikan ide ini produk yang lengkap.

https://gitter.im/VB-NET/Volunteer
Terima kasih.

Xml literal adalah fitur yang sangat bagus yang hanya dimiliki oleh VB. Mengenai vbhtml perlu waktu dan tenaga dan saya adalah salah satu orang yang tertarik dari masa lalu, berharap jika kita bisa segera memulainya

Halo semua,
Ini adalah VB Razor (Vazor) fungsional. Selamat bersenang-senang:
https://github.com/VBAndCs/Vazor

Halo semua,
Harap dukung proposal ini https://github.com/aspnet/AspNetCore/issues/9270
Ini bisa menjadi alternatif mudah untuk membuat halaman vbhtml.

@VBAndCs , coba hindari memposting tentang masalah tertutup lama. Kami mencoba menyimpan pelacak masalah ini untuk bug dan permintaan fitur di ASP.NET Core dan meminimalkan diskusi lain.

@Eilon
Maaf, tapi ini adalah permintaan fitur yang belum ada. Ditutup seharusnya tidak mengganggu Anda, tetapi masih muncul di pencarian google, jadi penting untuk menyimpan semua info terkait tentang topik ini bersama-sama.
Bagaimanapun, ini adalah tanggapan terakhir saya dalam topik ini.
Terima kasih

@VBAndCs , tolong jangan berkecil hati dengan nada bossy dari @Eilon (manajer Microsoft, bukan pengembang, menurut bio Github-nya). Saya kira dia hanya menggunakan kata-kata aneh untuk mengatakan "terima kasih atas kontribusi Anda yang luar biasa".

@tokopedia
Terima kasih atas dukunganmu :). Saya dapat membayangkan tekanan besar yang dialami @Eilon dengan ratusan notifikasi per hari, bug yang harus diperbaiki, diskusi yang harus dibuat, pertanyaan untuk dijawab dan saran untuk ditolak: dancing_men:
Jadi, saya akan merujuk ke topik ini di proposal saya yang baru (yang saya harap mereka terus datang sampai VB.NET memulihkan tempatnya :)).
Saya berharap Eilon membahas proposal penting atau setidaknya membiarkannya terbuka untuk sementara waktu agar komunitas dapat mendiskusikannya daripada langsung langsung ke tombol tutup.
Terima kasih lagi @mevdschee , dan maaf @Eilon :)

Saya sudah mengikuti thread ini sejak lama karena solusi lengkap yang tepat kok menurut saya seharusnya sudah di road map tanpa harus dipaksa. Saya sedikit kecewa melihat setelah kerja keras yang dilakukan oleh @VBAndCs bahwa @Eilon akan mencoba dan menghentikan orang lain yang mencoba membantu menyelesaikan masalah untuk begitu banyak orang! Saya dapat memahami bahwa ada banyak tekanan, namun fakta bahwa orang-orang masih mengikuti ini menunjukkan hal ini penting bagi banyak orang! Pertahankan kerja bagus :)

Halo semuanya,

Kami sangat menganjurkan aktivitas dan fitur komunitas, tetapi kami tidak dapat menerima permintaan fitur atau perbaikan bug tertentu karena itu bukan prioritas yang cukup tinggi untuk kami terapkan. Ini bahkan termasuk kasus di mana ada permintaan penarikan yang mencakup pengujian dan dokumentasi. Membuat perubahan dalam ukuran apa pun memiliki biaya, termasuk biaya jangka panjang, dan kita harus menyeimbangkannya dengan semua potensi pekerjaan lain yang sedang kita pertimbangkan. Ketika datang ke mesin tampilan, kami 100% berkomitmen untuk mesin tampilan Razor dengan dukungan untuk C #, dan pengalaman editor yang hebat di Visual Studio, Visual Studio untuk Mac, dan Visual Studio Code.

Kami yakin bahwa ada peluang besar di sini bagi orang-orang seperti @VBAndCs untuk membuat proyek tambahan yang bekerja dengan ASP.NET Core dan terintegrasi dalam berbagai cara. Kami dengan senang hati menautkan ke proyek tersebut dengan meminta orang mengirim PR ke file readme seperti MVC readme .

Terima kasih,
Eilon

Untuk @ simonmilne80, @mevdschee dan salah satu yang tertarik:
Saya menambahkan contoh kerja halaman zml ke repo, jadi tolong, mari kita diskusikan topik ini: https://github.com/VBAndCs/Vazor-DotNetCore2/issues/1
dan berikan @Eilon beberapa saat damai :)

BTW kami ingin menambahkan sebutan Vazor ke Standup Komunitas ASP.NET mendatang. Apakah Anda memiliki posting blog yang dapat kami rujuk selain repo GitHub?

@Eilon
Maaf telah menunda balasan saya. Saya harus menyelesaikan pekerjaan saya terlebih dahulu, dan menulis file readme yang berisi info dasar tentang tag ZML.
ZML 1.0 sekarang memiliki repo dan NuGet sendiri .
Saya akan menyetujui jika Anda menyebutkan ZML, karena itu adalah bahasa independen (repo berisi sampel proyek dengan c # dan VB dua versi, dan keduanya menggunakan file .zml yang sama.
Terima kasih.

Ingin mengonversi aplikasi VB.NET WebForms saya ke .NET Core Razor Pages. Jika benar bahwa VB tidak akan didukung, lalu ke jalur ASP.NET modern apa saya harus bermigrasi? Menulis ulang aplikasi di C # bukanlah suatu pilihan.

@Gruski jika ada banyak kode VB.NET yang merupakan kode "perpustakaan" - yaitu, bahkan tidak khusus WebForms - maka semuanya bekerja dengan baik di dunia .NET Core / Razor Pages / Blazor. Ini adalah bagian WebForms vs. Razor (dan Blazor) yang jauh lebih berhasil.

Kami baru saja merilis pratinjau e-book untuk membantu pengembang bermigrasi dari WebForms ke Blazor:

https://docs.microsoft.com/en-us/dotnet/architecture/blazor-for-web-forms-developers/index

Jadi dimungkinkan untuk menyimpan beberapa aplikasi Anda di VB, dan hanya UI yang perlu C #.

Jadi dimungkinkan untuk menyimpan beberapa aplikasi Anda di VB, dan hanya UI yang perlu C #.

Anda juga dapat menggunakan proyek VB.NEt untuk UI. Hanya file cshtml yang akan berisi C # chunks. Jika Anda ingin menghindari kode C #, Anda dapat menggunakan literal xml di VB.NEt untuk mendesain UI seperti yang saya lakukan di proyek Vazor saya:
https://github.com/VBAndCs/Vazor-DotNetCore2
Anthony Green membawa ini ke level lain seperti yang Anda lihat di topik terakhirnya di blognya:
https://anthonydgreen.net/
Atau disini:
https://github.com/dotnet/vblang/issues/483
Saya juga menyarankan untuk menggunakan perintah tag XML untuk menghindari C # dan VB dan memiliki XML Razor murni (saya sebut ZML):
https://github.com/VBAndCs/ZML

Meskipun proyek kami adalah proyek WebForms, kami tidak lagi menggunakannya seperti yang dimaksudkan semula. Ini adalah aplikasi perusahaan tua tapi besar yang selama bertahun-tahun telah diubah untuk hanya menggunakan kerangka sisi klien Vue.js yang memanggil WebMethods yang berada di setiap kode .aspx di belakang halaman. Jadi ada: tidak ada komponen server (tidak ada runat = "server" apa pun), tidak ada kondisi tampilan, tidak ada kiriman halaman penuh (tidak ada elemen "formulir"). Selain metode Muat yang secara dinamis menginisialisasi beberapa komponen sisi klien Vue, kode di belakang hanya berisi WebMethods.

Dengan pemikiran ini dan persyaratan untuk pindah ke .NET core apa teknologi ASP.NET baru yang harus saya migrasikan ke proyek jika saya ingin keluar dari WebForms? MVC bagi saya tidak masuk akal karena Vue.js sudah memiliki pola MVC di sisi klien, yang menurut saya lebih elegan, jadi mengapa saya membutuhkannya di server? Blazor juga tidak masuk akal karena itu akan memerlukan penulisan ulang seluruh UI lagi.

@ Gruski Saya akan merekomendasikan Razor Pages. Sangat mudah untuk memulai dengan: Cukup buat folder Halaman di aplikasi ASP.NET Core Anda dan mulai tambahkan file .cshtml ke dalamnya. Setiap halaman pada dasarnya adalah URL, dan Anda dapat memasukkan HTML sembarang di dalamnya, lalu menambahkan C # yang Anda inginkan untuk logika server.

Coba tutorial ini untuk memulai: https://docs.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/razor-pages-start?view=aspnetcore-3.0&tabs=visual-studio

@Eilon Apakah Razor Pages memiliki kode di belakang untuk menempatkan WebMethods? Jika tidak, di mana WebMethod akan ditempatkan? Melihatnya sepertinya masih menggunakan versi sederhana dari pola MVC sisi server di belakang layar yang mubazir saat menggunakan Vue. Juga tidak ada dukungan VB di Razor Pages.

Razor Pages tidak mendukung WebMethods. Saya akan merekomendasikan menggunakan MVC untuk metode tersebut. Anda dapat mencampur Razor Pages dan MVC di aplikasi yang sama.

@Gruski Saya telah bepergian dan hanya mengejar ketinggalan.

Jika Anda memiliki UI di Vuew.js, dapatkah Anda menggunakan ASP.NET Core MVC / WebAPI? Ini bekerja dengan baik. Meskipun artikel ini sedikit banyak memasukkan Angular, artikel ini menunjukkan teknik umum: https://devblogs.microsoft.com/vbteam/combining-angular-visual-basic-and-net-core-for-developing-modern- aplikasi web /

Ada dua area masalah dengan dukungan:

  • Razor tidak didukung untuk Visual Basic, meskipun sebagai menunjuk keluar @VBAndCs dan @AnthonyDGreen memiliki keduanya bekerja di luar solusi yang berpotensi lebih baik untuk Visual Basic.
  • Tidak ada templat untuk ASP.NET WebAPI.
Apakah halaman ini membantu?
0 / 5 - 0 peringkat