Aspnetcore: دعم Visual Basic .NET (VB.NET) في ASP.NET Core

تم إنشاؤها على ٣ يناير ٢٠١٨  ·  91تعليقات  ·  مصدر: dotnet/aspnetcore

تم طرح العديد من الأسئلة حول دعم VB.NET في ASP.NET Core خلال السنوات القليلة الماضية. إذا اتبعتها ، فإنها تؤدي جميعها إلى طرق مسدودة - إما مغلقة بدون استجابة حقيقية ، أو يتم نقلها إلى مستودعات أخرى لا علاقة لها بـ ASP.NET Core (مثل مكان ما في مؤسسة dotnet ).

خلال ذلك الوقت ، كان هناك حديث عن دعم VB. من المفهوم تمامًا أن ASP.NET Core لم يدعم VB منذ البداية. كان المشروع يمر بالكثير من التغييرات السريعة ، لذلك كان من المنطقي التركيز على C # في البداية وإضافة دعم للغات أخرى لاحقًا. ولكن يبدو أن فكرة دعم VB ضاعت على طول الطريق.

فيما يلي جدول زمني موجز:

16 ديسمبر 2014:

نحن نخطط للحصول على نقاط قابلية للتوسع بحيث يمكن إضافة لغات أخرى مثل VB و F # وما إلى ذلك عبر نموذج حزمة دعم أو ما شابه.
https://github.com/aspnet/Home/issues/236#issuecomment -67046039

25 أبريل 2015:

مرحبًا بالجميع ، أخبار جيدة! لقد أعلنا عن خطط لدعم VB في ASP.NET 5 / DNX!
https://github.com/aspnet/Home/issues/236#issuecomment -96003847

يسعدنا اليوم أن نعلن أن ASP.NET 5 سيحصل على دعم كامل مع Visual Basic (كل من الأدوات ووقت التشغيل - بما في ذلك دعم وقت تشغيل الأنظمة الأساسية).
https://blogs.msdn.microsoft.com/webdev/2015/04/24/making-it-better-asp-net-with-visual-basic-14/

19 نوفمبر 2016:
يختفي دعم VB من خارطة الطريق:

 |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 ديسمبر 2017:

لا توجد خطط لإضافة قالب VB لـ ASP.NET Core
https://github.com/aspnet/Home/issues/2305#issuecomment -351501913

يبدو أن دعم VB قد ذهب من

"لم يعمل بعد ، لكننا نخطط للسماح لـ VB"

إلى

"سيكون هناك دعم كامل لـ VB!"

إلى

"VB غير مدعوم ، لكن ششش ، لا تخبر أحداً".

لذا فإن سؤالي الأول هو:

ماذا حدث ولماذا لم يكن هناك إعلان أو مناقشة مع المجتمع حول هذا؟

يبدو من الغريب الانتقال من الإعلان عن دعم VB.NET في ASP.NET Core في منشور مدونة رسمي ، إلى عدم دعمه على الإطلاق دون أي ملاحظات. هل كان هناك أي إعلان عن هذا؟ إذا كان هناك ، فمن المؤكد أنه لم يتم نشره على نطاق واسع.

سؤالي التالي والأكثر أهمية هو:

ما الذي يمكن أن يفعله مجتمع VB للمساعدة في إضافة دعم لـ VB.NET إلى ASP.NET Core؟

هل توجد قوالب مشروع يمكننا كتابتها؟
هل هناك مولدات رمز يمكننا تنفيذها؟
ما الذي يمكننا فعله لجعل ASP.NET Core رائعًا لمطوري VB كما هو الحال لمطوري C #؟


لقد جمعت تطبيق ASP.NET Core بسيطًا (تم حذف الرابط لأن الريبو قديم) في VB من خلال إنشاء تطبيق .NET Core console وتحرير ملف المشروع ونسخ الفئات التي تم إنشاؤها من ASP.NET Core C # قالب. إنه يعمل بشكل جيد ، وعلى الرغم من أنه أساسي للغاية ، لا يمكنني رؤية أي سبب لعدم دعم VB.NET.

التعليق الأكثر فائدة

+1
تعد Visual Basic دائمًا اللغة الأكثر أهمية في عالم .NET. VB لا يزال العديد من المعجبين ويستخدمون اليوم! على الرغم من أن العديد من الأشخاص يعملون في مشروع C # في مكان عملهم ، لكنني أعتقد أن العديد من الأشخاص مثلي ، يحبون استخدام VB في مشروعهم الخاص.

ال 91 كومينتر

ccDamianEdwards

لقد سجلت مشكلة منذ فترة طويلة لاستخدام VB جنبًا إلى جنب مع .cshtml في Razor repo ، منذ ذلك الحين لم أر أي إجراء 😟.
منذ أسابيع قليلة ، رأيت مثالًا رائعًا من DamianEdwards يوضح تطبيق Hyprid VB ASP.NET Core هنا

بالإضافة إلى الجمع الممتاز reduckted ، لا تزال وثائق Microsoft الخاصة جملة Razor لـ ASP.NET Core (كما في 2017-10-18) تحتوي على العديد من المراجع إلى Visual Basic واستخدام ملفات.

لا ينطبق هذا القيد على ملفات Razor .vbhtml لأن بناء جملة Visual Basic يضع أقواسًا حول معلمات النوع العامة بدلاً من الأقواس.

ومع ذلك ، نشر ScottAddie @ MSFT تعليقًا في 21 يوليو 2017:

ASP.NET Core لا يدعم VB.NET بعد. ستحتاج إلى الالتزام بـ ASP.NET المناسب في الوقت الحالي.

فهل سيتم تضمين ملفات Visual Basic / vb.net / .vbhtml في .Net Core؟ وإذا كان الأمر كذلك فمتى ؟؟

كيف يمكننا المساعدة في تحقيق هذا الدعم؟ أرغب في رؤية دعم VB.Net و F #!

لقد قمت بإرسال PR لإزالة مراجع VBHTML من مستندات ASP.NET Core: https://github.com/aspnet/Docs/pull/5201

لا توجد خطط حاليًا لتقديم دعم VBHTML إلى ASP.NET Core.

لدينا قوالب F # لـ ASP.NET Core ، والتي تم تثبيتها كجزء من .NET Core SDK.

Eilon لا توجد خطط حاليًا لتقديم دعم VBHTML إلى ASP.NET Core.

أنا شخصياً لست قلقًا بشأن دعم VBHTML لأنني لا أستخدم صفحات Razor ولا أنوي ذلك. كما ذكر AnthonyDGreen (https://github.com/dotnet/vblang/issues/238#issuecomment-354927626) ، ليس من المنطقي إضافة دعم VB إليه لأنه نادرًا ما يستخدم في MVC 5 ، و ، أتخيل ، سيستغرق قدرًا كبيرًا جدًا من العمل مقابل الكثير من المكاسب.

Eilon لدينا قوالب F # لـ ASP.NET Core ، والتي تم تثبيتها كجزء من .NET Core SDK.

حسنًا ، لكنني لست متأكدًا حقًا من وجهة نظرك هنا. إذا كان هناك أي شيء ، ألا يعزز هذا فقط حقيقة وجود قوالب VB أيضًا؟

ألم تكن قوالب F # تم إنشاؤها بواسطة مجتمع F #؟ إذا لم يقم الفريق في Microsoft بإنشاء قوالب VB ، فلماذا لا يتم إنشاء قوالب VB بواسطة مجتمع VB؟

reduckted السؤال يتعلق بالطلب عليه وتكلفته - كل من التكلفة الأولية والتكلفة الجارية. كان الطلب منخفضًا جدًا ، كما لوحظ سابقًا. قد لا تكون تكلفة إنشاء مجموعة أولية من القوالب كبيرة ، ولكن يتعين على شخص ما الاحتفاظ بها. مع F # لدينا أشخاص في Microsoft ملتزمون بالحفاظ عليهم. ليس لدينا مثل هؤلاء الأشخاص لـ VB في هذا الوقت.

أيضًا ، أحد القيود مع قوالب F # هو أنها تركز أكثر على جانب API للأشياء ؛ وهذا يعني عدم وجود Razor أو CSHTML (لأنه لا يوجد FSHTML). بالنسبة لمستخدمي VB ، أعتقد أن معظم المستخدمين الذين يستخدمون VB يتوقعون تجربة VBHTML لـ MVC ، وتكلفة إنتاج ذلك هائلة - شهور وشهور من العمل. لذلك ، ليس من الواضح بالنسبة لي أن إضافة قوالب VB محدودة ستكون ذات قيمة خاصة.

Eilon مع مستخدمي VB أعتقد أن معظم المستخدمين الذين يستخدمون VB يتوقعون تجربة VBHTML لـ MVC ...

قد ترغب في التحدث إلى AnthonyDGreen ، لأن هذا هو بالضبط _المقابل _ لما قاله في التعليق الذي ربطته سابقًا (https://github.com/dotnet/vblang/issues/238#issuecomment-354927626). سأقتبسها هذه المرة (التركيز هو ملكي):

لم يتم نقل محرك الحلاقة .vbhtml من MVC 5 إلى Core بشكل أساسي لأن أقل من 1٪ من جميع مشروعات الويب VB استخدمته بعد 5 إصدارات.

reduckted - مثير للاهتمام ، هذا خبر بالنسبة لي. أعود إلى أيام نماذج الويب ، التي تم تصميمها في البداية بمفاهيم كانت مألوفة لمطوري VB (VB6 ، على وجه التحديد) ، وكانت نماذج الويب تتمحور حول HTML (نوعًا) ، مما دفعني إلى الاعتقاد بأن VBHTML ستكون الأكثر إثارة للاهتمام لتلك المجموعة من الناس. ثم مرة أخرى ، هذه ~ 15 سنة من بيانات anec 😄

راجع للشغل لنكون واضحين ، لم نقل أننا لن نفعل ذلك أبدًا - فقط أنه ليس في أي خطط حاليًا.

أنا معجب بـ VB 😄 ، والذي أتوقع أن يكون .vbhtml خارج الصندوق ، النهج الهجين الذي ذكرته من قبل لا يكفي لجميع رجال VB ، لكن لا بأس في بعض الحالات. سؤالي هو إعادة تطبيق Razor لإصدار VB بدلاً من C # هل سيعمل ذلك ، أم أن MVC مقترن بإحكام على cshtml C #؟

hishamco للأسف تم تنفيذ Razor بحيث كان VB و C # مسارات منفصلة. لقد تحدثت إلى عدد قليل من الأشخاص المعنيين وهو مشروع كبير جدًا.

KathleenDollard هناك مشاريع .NET Core أخرى تدعم ViewEngines المخصصة لأنواع ملفات .pug & .md .

بالتأكيد يمكننا جعله يعمل مع ملفات .vbhtml razorpages باستخدام .vbproj مع <Project Sdk="Microsoft.NET.Sdk.Web"> .

@ tb-mtg كل شيء مفتوح المصدر إذا كنت ترغب في استكشافه ومعرفة ما فعلته تلك المشاريع. أخبرني الأشخاص الذين كتبوه أنه كان جهدًا كبيرًا. إن حجم الجهد والاعتماد المنخفض للغاية لـ vbhtml في الإصدارات السابقة من MVC يجعل من الصعب بيعها.

KathleenDollard سأكرر سؤالي مرة أخرى ، إذا قمت بإعادة تطبيق الشفرة لإصدار VB بدلاً من C # هل سيعمل ذلك ، أم أن MVC مرتبط بإحكام على cshtml C #؟

hishamco سيكون سؤالًا جيدًا لـ rynowak . ريان؟

يستخدم محرك تجميع وقت التشغيل الخاص بـ MVC البنية التحتية لـ Roslyn لتجميع C # ، ويتوقع / يتطلب أن يتم تمرير إعدادات نظام مشروع C # عبر .deps.json . لا يحتوي MVC على أي اقتران وثيق بالشفرة التي تم إنشاؤها ، ولكنه يوفر بنية أساسية لتجميع طرق عرض C # في وقت التشغيل باستخدام الإعدادات التي تم إنشاؤها بواسطة مشروع C #.

سيحتاج أي شخص يريد تجميع VB في وقت التشغيل إلى تنفيذ محرك عرض يقوم بذلك.

شكرا rynowak للتوضيح لك

يستخدم البنية التحتية Roslyn لتجميع C # ، ويتوقع / يتطلب أن يتم تمرير إعدادات نظام مشروع C # عبر .deps.json

إذا قمت بتطبيق محرك عرض VB - أو استنساخ C # واحد مع التعديل - فما هي الإعدادات التي أحتاجها لتمريرها إلى .deps.json لتحقيق ذلك؟

+1
تعد Visual Basic دائمًا اللغة الأكثر أهمية في عالم .NET. VB لا يزال العديد من المعجبين ويستخدمون اليوم! على الرغم من أن العديد من الأشخاص يعملون في مشروع C # في مكان عملهم ، لكنني أعتقد أن العديد من الأشخاص مثلي ، يحبون استخدام VB في مشروعهم الخاص.

تضمين التغريدة

لم يتم نقل محرك الحلاقة .vbhtml من MVC 5 إلى Core بشكل أساسي لأن أقل من 1٪ من جميع مشاريع الويب VB استخدمته بعد 5 إصدارات.

ماذا يستخدم 99٪ الآخرون إذن؟

Angular ، أو مكتبات أمامية أخرى مماثلة ، سأفترض. هذا ما أستخدمه.

في الواقع ، هذا أيضًا هو بالضبط ما أخطط للقيام به مع مشاريع الويب الجديدة الخاصة بنا التي انتقلت إلى Angular من ASP.Net MVC Razor ، يجب أن أقوم بأربعة مشاريع ويب جديدة هذا العام ، لذلك إذا استمر شخص ما في العد ..

كانت VB لغة شائعة لسنوات عديدة! كشركة لدينا بالتأكيد العديد من مقتطفات التعليمات البرمجية التي لا نريد إعادة كتابتها في C # أنا متأكد من أن هناك العديد من تطبيقات نماذج الويب للمدرسة القديمة التي من المقرر إعادة كتابتها خاصة مع قواعد الاتحاد الأوروبي الجديدة التي تدخل حيز التنفيذ ، هذا يعني أن VB سيكون مطلوبًا جدًا! أجد أنه من المدهش أن مايكروسوفت تنفخ بشدة وباردة على VB دقيقة واحدة يجري تطويرها على قدم المساواة ، بجانب قريبها الفقير! نعم ، تظهر لغات وأطر عمل جديدة ، لكن لا تكتفي بالتخلي عن اللغات القديمة الشعبية!

سعيد أن يتم تعقبه هنا ، ونأمل أن نرى بعض الإجراءات بعد ذلك.

جميع العلامات (كلمات ابن عرس) من MS تشير إلى أنهم يخططون لتخفيض VB.NET ، و / أو عدم القيام بأي شيء وانتظار الآخرين لكتابة البتات المفقودة. لقد تجاوزت كلمات ابن عرس ، أنا أخرج من تطوير VB.NET الآن.

أتمنى فقط عندما تستحوذ Microsoft على GitHub ألا تحصل على نفس المعاملة التي حصل عليها VB.Net (تُترك ميتًا بوعود فارغة بالدعم الكامل).

NatShaw أنا PM لـ Visual Basic.Net.

لست متأكدًا مما تقصده بشأن التخطيط لتخفيض VB.NET ، لكن لا توجد خطط للقيام بذلك. استراتيجية لغة Visual Basic تبقى دون تغيير.

الحلاقة لـ VB مشكلة. بالنسبة لسير عمل التطوير الرئيسي ، يعد WebAPI سير عمل جيد لـ VB كما هو موضح هنا. (بصرف النظر عن القوالب)

@ tb-mtg لم تترك VB.Net ميتة. هناك تحسينات مستمرة - تحسينات صغيرة في اللغة والعمل مثل IOperation لجعل دعم Visual Basic في محللات Roslyn من السهل دعم VB عبر النظام البيئي. صحيح أن VB يركز على السيناريوهات التي يكون فيها جيدًا بالفعل ، والسيناريوهات الجديدة المناسبة بدلاً من جميع السيناريوهات الجديدة. على سبيل المثال ، أعلن سكوت هانتر بالفعل أن VB.Net سيعمل مع .NET Core 3.

قطع KathleenDollard مفقودة بالفعل - .Net Core 2.x - أين توجد جميع قوالب VB؟ أنواع مرجعية لاغية؟ C # فقط. الخطط المستقبلية رائعة للمستقبل ولكن VB يفتقد بالفعل للأشياء الآن.

هذا هو موضوع Microsoft لإنشاء تقنية رائعة والتخلي عنها. لقد تخلوا عن VB ، اللغة التي بنت الشركة وأصبحوا متجر C # فقط. عندما يتم تقديم تقنية جديدة ، أتوقع أن يتم دعم جميع اللغات. للأسف ، لا تقوم Microsoft الجديدة بعمل جيد كما فعلت قبل 15 عامًا في الحفاظ على جميع اللغات شركاء متساوين. إنه أمر سيء للغاية ، لدي عشرات الآلاف من خطوط VB وكنت آمل أن أذهب عبر النظام الأساسي باستخدام asp.net core. الآن مع نماذج الويب المهجورة في asp.net الأساسية وليس VB أنا عالق. يمكنني تغيير اللغة أو ؟؟. إذا بذلت مجهودًا في تغيير اللغة ، فسيكون ذلك إلى شيء آخر غير Microsoft ، فسيكون للغة تم إنشاؤها لدعم جميع الأنظمة الأساسية. لقد سئمت من التخفيضات والإعفاء لكوني مطور VB جيد جدًا. قد يكون الوقت قد حان لأخذ شركتي وكودتي ومغادرة Microsoft بعد 30 عامًا من استخدام وبيع منصات ولغات Microsoft. الموقف المتعالي من إدارة الشبكة تجاه VB أصبح أكثر من اللازم. لا يزال هناك الكثير منا من VBers الذين يشعرون بخيبة أمل كبيرة في Microsoft هذه الأيام. سيكون من الأفضل أن يكون VB مفتوح المصدر حتى يتمكن المجتمع من تطويره على جميع الأنظمة الأساسية.

SrqComputerguy إنهم يتخلون عن VB

خطأ. قالت KathleenDollard حرفيًا _ منذ يوم واحد_ في _هذا الموضوع _ ، أن "إستراتيجية لغة Visual Basic لم تتغير." (تعليق)

SrqComputerguy إنه أمر سيء للغاية ، لدي

نماذج الويب هي تقنية قديمة (عمليا قديمة بمعايير البرامج) ، لذلك ليس من المستغرب أنها غير مدعومة في .NET Core (مع VB.NET _or_ C #) راجع منشور المدونة هذا في وقت سابق من هذا الأسبوع حول استخدام VB.NET مع ASP.NET Core.

SrqComputerguy إذا بذلت جهدًا في تغيير اللغة ، فسيكون ذلك إلى شيء آخر غير Microsoft ، فسيكون إلى لغة تم إنشاؤها لدعم جميع الأنظمة الأساسية .

VB.NET _is_ عبر الأنظمة الأساسية ، فقط ليس مع نماذج الويب.

SrqComputerguy سيكون من الأفضل إذا تم جعل VB مفتوح المصدر حتى يتمكن المجتمع من

😕 هو كذلك. https://github.com/dotnet/vblang

يحتويreduckted C # على قالب "ASP.NET Core Web Application" - لا يحتوي VB على نموذج. هل هذا صحيح؟ أنواع المراجع غير القابلة للإلغاء - ليس لـ VB.

تتمثل الإستراتيجية بالفعل في أن VB لم يعد مواطنًا من الدرجة الأولى - لا تغيير! المقالة KathleenDollard هي إهانة إلى حد ما ، تخبرنا أن هذه الميزات الجديدة اللامعة ليست جيدة بالنسبة لنا لأنها ستجعل كود VB الخاص بنا غير مرتب للغاية. يا لها من هراء لكلمة ابن عرس. أمثلة:

  • يأتي VB 15 مع مجموعة فرعية من ميزات C # 7.0 الجديدة
  • سنركز الابتكار على السيناريوهات الأساسية والمجالات التي تحظى فيها VB بشعبية.
  • ومع ذلك ، لا تحصل VB 15 على ميزات مثل تعبيرات is ، والمتغيرات الخارجية والوظائف المحلية ، والتي من المحتمل أن تضر أكثر مما تنفع في قابلية قراءة VB ، وتضيف بشكل كبير إلى عدد مفهومها.

انتهى. إنهم يخدعونه.

التكنولوجيا القديمة لا تعني أنها غير مفيدة. تعمل WebFroms بشكل رائع مع تطبيقات الأعمال حيث لا نحتاج إلى تحسين محركات البحث (SEO) ، لكننا نحتاج إلى منصة مشتركة. WebForm يجعل الشكل والمظهر لإصدار winform يبدو ويتصرف بشكل مشابه. يحتوي هذا أيضًا على العديد من سيناريوهات العمل التي تعمل بشكل جيد. لا يجب أن يكون كل شيء تطبيق angular.js C # MVC ولا ينبغي أن يكون كذلك. ومع ذلك فهذه هي الأدوات الوحيدة التي يعمل MS على تحسينها في الوقت الحالي.

لماذا تحصل الصفحات الشفافة (التي يتم تحديثها صفحات asp لـ .net) على C # love في جوهرها وليس VB؟

حتى أن MS اشترت مشروع Mono حتى الآن الذي يدعم C # أولاً وفقط إذا حصلوا على الموافقة ، يحصل VB على بعض الحب هناك.

تمنح MS لغة Python حبًا أكبر من VB. لغة Python هي لغة متعددة المنصات أكثر من لغة C # أو VB حيث من المحتمل أن تذهب لغة VBer هذه في المستقبل.

من المحزن أن MS تعتمد على لغة لا تزال لا تعرف كيف تحدد نهاية السطر بدون حرف ؛

هل لدى MS فريق VB بعد الآن؟ ليس لديهم وجود على شبكة الإنترنت. للتقدم يجب علينا البحث في مكان آخر.

كان من الجيد في حين استمر. VB RIP.

مرحبا،

هل يمكن لشخص ما في Microsoft إعادة النظر في الجهد المبذول لتجميع vb في طرق عرض الشفرة (.net core)؟ أعتقد أن Project Blazor يتيح طريقة جديدة لمشاركة الكثير من التعليمات البرمجية الموجودة في vb لإنشاء تطبيقات ويب جديدة.

كان VB .NET أكثر شيوعًا مرة أخرى لأنه يمكنك القيام بنفس الأشياء التي يمكنك القيام بها مع C #. أعتقد أنه إذا تركت vb في الخلف ، فسوف تنهي شعبيتها بشكل فعال.

نحن ننقل تطبيق Winforms كبير جدًا VB إلى تطبيق ويب. نحن نعمل بنسبة 50٪ على إعادة كتابة إطار العمل الخاص بنا في JS ، ولكن مع Blazor سيكون أسرع وأنظف ويمكننا مشاركة الكثير من التعليمات البرمجية الموجودة. سيكون من الرائع لو تمكنا أيضًا من برمجة طرق العرض باستخدام VB بدلاً من C #. ليس كل شيء هو MVC وشفرة الحلاقة.

لذا ، ربما التركيز في Blazor سيجعل الجهد أقل؟

بعد الاضطرار إلى العمل مع كود VB الحديث والقديم لعدة سنوات حتى الآن ، لا يمكنني الانتظار حتى يموت الإسهاب. أعتقد أنه من الذكاء لمايكروسوفت أن تركز على نمط واحد من اللغات (C).

تضمين التغريدة

تم النظر في دعم الحلاقة وإعادة النظر فيه.

على الرغم من كونه مثيرًا للغاية ، إلا أن Blazor الآن عبارة عن جهد تجريبي ، بدون خطط منتج. أوافق على أنه إذا أصبح Blazor منتجًا ، فإن الأمر يستحق إعادة النظر في قصة VB وأتوقع أن يحدث ذلك. ما إذا كان ذلك سيؤدي إلى تغيير في الإستراتيجية فيما يتعلق بدعم VB ، لا أعرف.

ثلاثة أسئلة لك:

  • هل تقودك الإعلانات حول الانتقال إلى .NET Core 3 من WinForms إلى إعادة النظر في قرارك بنقل رمز WinForms؟

  • أنت تعيد الكتابة للويب. هل تستخدم واجهة VB WebAPI الخلفية مثل هذا: الجمع بين Angular و Visual Basic و .NET Core لتطوير تطبيقات الويب الحديثة ؟

  • أنت تستخدم JS ، مما يعني أن أجزاء من فريقك تستخدم لغة الأقواس بشكل فعال. ما هي أسباب عدم تحويلك إلى C #؟

لا يوجد شيء يتم القيام به في C # حصريًا لا يمكن القيام به في VB. يجعل MS محولات IL. إنها مسألة إرادة.

هنا سؤال لك. إذا كان لديك عدد كبير من تطبيقات الأعمال التي تحتوي على إصدار ويب .net 4.5.2 والتي تبدو وتتصرف مثل إصدار سطح المكتب ، فكيف تقترح MS عليها الانتقال عبر النظام الأساسي.

فهل من الرسمي أن MS تخدع فكرة تضمين مطوري VB في موجة Asp.net Core وليست مهتمة بإنفاق الموارد عليها؟

@ sreenathGanga1988 لقد أعلنا أنه لا توجد خطط حالية لدعم Razor في .NET Core على Visual Basic.NET. يتم دعم WebAPI الموجود في ASP.NET Core كجزء من MVC. إنها فقط شفرة الحلاقة غير المدعومة. محرك Razor معقد ، وقد تم إنشاؤه للغة واحدة.

KathleenDollard ، يمكنك إنشاء VBHTML.Contrib للسماح لمحبي VB بالمساهمة في بناء محرك ماكينة حلاقة باستخدام محرك Razor الحالي لدعم VB

يعتقد الأشخاص الذين كتبوا الإصدار الجديد من Razor أنه من المعقد جدًا تضمين Visual Basic ، لأنه لم يتم تصميمه لعدة لغات. لم ألق نظرة على الكود ، لكنني سأثق برأي هؤلاء الناس. بناءً على ذلك ، لن أقوم بإنشاء شوكة.

ومع ذلك ، ASP.NET مفتوح المصدر لسبب ما. إذا قامت مجموعة من مطوري VB بإنشاء مفترق طرق في أي مكان وإثبات خطأهم ، فسيكون ذلك رائعًا. يسعدني وجود هذه المشكلة أو مشكلة أخرى في نقطة إعادة الشراء هذه للمشروع ، وإذا كنت سأغرد عن وجودها وتقدمها إذا رغبت في ذلك.

لقد وضعت الأساس مع .NET Foundation لمساحة Visual Basic (ربما تكون مساهمة ، وربما شيء آخر) بحيث تكون هناك طريقة لإدارة الملكية وأشياء الإدارة هذه للمشاريع في مجتمع Visual Basic. ومع ذلك ، فهم بحاجة إلى دليل على وجود مجتمع لديه اتفاقيات إعادة شراء توفر الأشياء التي يريدها الناس (تعمل المؤسسة على تجنب المشاريع الميتة). كنت آمل أن تكون قوالب Entity Framework هي تلك البذور ، لكن ذلك لم يسير على ما يرام. هذا ليس خاصًا بـ VB ، وهذا هو سبب رؤيتك للأشياء في المستودعات الشخصية: قوالب VB EF في bricelam ، وكتالوج الأدوات العالمي في natemcmaster ، وإصدار متشعب من محلل سطر الأوامر natemcmaster بينما نعمل على واحد جديد .

لذلك ، في حين أن المشروع والنموذج الأولي لا يكفيان لجذب اهتمام المؤسسة ، إذا ظهر مشروع ناجح ، فيمكن نقله إلى .NET Foundation.

شكرًا لتوضيحك ، ولكن ما زلت غير متأكد من سبب تصميم ماكينة الحلاقة لاستهداف C # فقط بينما يمكن لـ Roslyn دعم كلاهما !!

لم ألق نظرة على شفرة Razor لمعرفة ما إذا كانت تبني بشكل مباشر شجرة بناء جملة ، ولكن بافتراض أنها تفعل ذلك ...

يعمل Roslyn مع أشجار بناء جملة محددة وواضحة وخامة تختلف عن C # و VB. على سبيل المثال ، توجد الأقواس sei-Colon و curly braces في C # ، وليس VB. يوجد End Sub و Handles في VB وليس شجرة بناء جملة C #.

تضمين التغريدة

نعم ، أنا أفهم أن Project Blazor تجريبي ، لكنه يتم تجميعه في تجميع الويب وهي طريقة أسهل للقيام بالتطبيقات عبر الأنظمة الأساسية (مشاركة التعليمات البرمجية الموجودة على الخادم والعملاء ، أنا أحب خادم windows و ASP .NET لذا أفضل تشغيل خادم يدعم إطار عمل .NET الكامل لإعادة استخدام قاعدة التعليمات البرمجية الموجودة لدينا).

بالنسبة لأسئلتك:

  1. NET core 3 لا يجعل تطبيقات WinForms مشتركة بين الأنظمة الأساسية ، لذا فهي لا تضيف الكثير.

  2. أنا أعيد الكتابة للويب لأنه يجعل تطبيقاتنا متعددة الأنظمة الأساسية. نحن نستخدم وحدة تحكم ASP .NET لمشاركة الكود الحالي ، لذلك ليس لدينا مشاكل على الخادم. كما قلت ، نحن نستخدم إطار العمل الخاص بنا ، والذي بدأ في توفير نفس الوظيفة في JS ، لكننا بحاجة إلى إعادة كتابة رمز العميل مرة أخرى ، واختباره ، ولا تزال واجهة المستخدم تأخذ 80٪ على الأقل من التطوير زمن.

  3. بدأنا في نقل إطار عملنا إلى JS قبل مشروع Blazor. لن تؤدي إعادة الكتابة في C # إلى جعل تطبيق العميل الخاص بنا متعدد الأنظمة الأساسية ، بل سيتطلب استهداف المتصفح على أي حال أو التحويل إلى Xamarin أو أي شيء آخر ، وبالتالي فإن الجهد هو نفسه.

أنا أبرمج بلغة C و C ++ و C # و VB و JS وأعرف كيفية استخدام العديد من المكدس ، لكن لدينا العديد من الأعضاء في فريقنا الذين سيكافحون للتحول إلى لغة أخرى. على أي حال ، فإن الهدف هو إعادة استخدام قاعدة الكود التي تم اختبارها ، وليس إعادة كتابتها. إذا كان بإمكان Blazor تجميع VB في طرق العرض ، فسيوفر لنا الكثير من الوقت ، هذا كل شيء.

كما أنه من الغريب أن يفهم المستخدمون أنه يمكنهم تجميع طرق عرض الشفرات من قبل في VB .NET مع الإطار الكامل. يبدو أنك تركت وراءك VB. وكل ذلك بدأ باستخدام .NET core ، ألم يكن أول مشروع تجريبي؟

لإضافة المزيد من السياق ، فإننا ننقل ثلاث عمليات تخطيط موارد المؤسسات للمهام بالغة الأهمية ، لخط عمل مختلف.

مع تحياتي.

تضمين التغريدة

شكرا لتقاسم المزيد عن السيناريو الخاص بك.

تمت إعادة كتابة محرك Razor لـ ASP.NET Core وهذا هو المكان الذي لم يتم فيه بذل جهد للغات متعددة. كان الاستخدام المنخفض لإصدار VB من محرك Razor أحد العوامل الدافعة. ونعم ، وجود Blazor يجعل هذا القرار مؤلمًا للغاية.

تضمين التغريدة

شكرًا لك كاثلين على مشاركة الأفكار. آمل ألا تبدأ اللغات في .NET في التنافس مع بعضها البعض ، فمن أكثر الأشياء جاذبية مع .NET كانت اللغات وقابلية التشغيل البيني بينهما ، والآن يبدو أن الأمر لم يعد كذلك. الآن لا يكفي اختيار .NET كمكدس تطوير ، أعتقد أننا سنحتاج إلى توخي الحذر بشأن اللغات التي نختارها أيضًا. من المؤسف أنه يبدو وكأنه خطوة إلى الوراء.

فيما يتعلق بالسؤال الأخير ، على الرغم من ذلك ، أعتقد أن الشفرة قد تمت كتابتها قبل NET core ، مع صفحات الويب ASP .NET و webmatrix ، لذلك أعتقد أنك تقصد أن محرك الشفرة تمت إعادة كتابته في .NET core لاستهداف C #. هل انا على حق؟

حظا سعيدا.

مرحبا،
لقد وجدت هذا المنصب: لماذا لا الحلاقة؟ .
ما رأيك في تجنب استخدام بنية Razor تمامًا في مشاريع ASP .NET Core و Blazor لصالح تطوير C # و VB.NET تمامًا؟ هل نحن على يقين من أننا بحاجة إلى بناء جملة Razor لتطوير تطبيقات الويب التي تحتاج إلى إرسال ملفات HTML5 و CSS؟

مع تحياتي،
فيليبو.

تضمين التغريدة

حسنًا ، كان هذا قبل الحريق. المشكلة هي أنك بحاجة إلى محرك قالب من العميل ، وفي حالة Blazor يكون ذلك فقط. في Blazor razor يتم تنفيذه في المتصفح وليس الخادم (ولكن يمكن تنفيذه على الخادم إذا لزم الأمر). لذلك ، يحاول الأشخاص مشاركة الكود بين العميل والخادم في المتصفح للأعمار. ستكون مشاركة رمز التحقق من الصحة حالة بسيطة ، ولكن في حالتنا نشارك البيانات الوصفية التي تصف النماذج حتى تتمكن المكونات من تكوين نفسها باستخدام تلك البيانات الوصفية.

أصبح Node.JS شائعًا لأنه يمكنك مشاركة التعليمات البرمجية بين المتصفح والخادم. فلماذا لا تشارك كود .NET بين المتصفح والخادم؟ يتم تجميع Razor إلى Webassembly مع الكود المشترك الخاص بك ، وهذا كل شيء. نعم ، يمكنك تجميع تطبيقك وتشغيله وتوزيعه ، لكن المتصفح لديه قدرة أفضل على الأنظمة الأساسية المشتركة وستستهدف المزيد من الأنظمة الأساسية بنفس الرمز. لقد رأيت أيضًا WPF مجمعة إلى webassembly إذا كنت ترغب في السير على هذا النحو.

نحن نفضل الاستفادة من مكونات JS الحالية ومزجها مع قاعدة .NET الخاصة بنا ، لكننا نفضل .NET و razor كبديل لأطر JS الأخرى ، مثل angular. إنها أكثر إنتاجية بمقدار 10 مرات إذا كنت تعرف ما تفعله ، على الأقل بالنسبة لنا.

مع تحياتي.

mcurros نعم ، تمت إعادة صياغة / إعادة كتابة قدر كبير في ASP.NET Core (انظر إلى نموذج خط الأنابيب كمثال) ، بما في ذلك Razor.

mcurros حسنًا ، صحيح أننا بحاجة إلى محرك قالب ولكن المشكلة تكمن في أن بنية Razor غير مدعومة من قبل مصمم WYSIWYG القوي.
على سبيل المثال ، يستخدم Blazor Bootstrap كمكتبة CSS. يوجد مصمم مثير للاهتمام لـ Boostrap يدعى Bootstrap Studio لكنه لا يدعم صيغة Razor.
بالنسبة لتطبيقات سطح المكتب WinForms ، يوجد مصمم WYSIWYG جيد لتصميم الواجهات بسرعة ، بالنسبة لـ XAML نفسه. هل يوجد مصمم قد نستخدمه لإنشاء HTML5-CSS بسرعة باستخدام طرق عرض بنية Razor (.cshtml / .vbhtml)؟

تضمين التغريدة
نظرًا لأن الأجهزة التي يمكنها تشغيل المتصفحات بترتيب 10 آلاف ، أعتقد أن إنشاء أداة WYSIWYG دقيقة ربما لا يستحق الجهد المبذول. الاتجاه السائد هذه الأيام هو تشغيله في المتصفح والسماح للمتصفح بإجراء العرض. تستخدم عينات Blazor Bootstrap ، لكن الشفرة هي محرك نموذجي ، يمكنك إصدار ما تريد وإطار عمل CSS / HTML الذي تريده. الأجزاء المثيرة للاهتمام هي ، التجميع إلى webassembly ، وشفرة الحلاقة المعدلة لتوفير توجيه SPA ، وجميع الأشياء التي تحتاجها لبناء عميل SPA. بالإضافة إلى ذلك ، إذا لزم الأمر ، يمكنك عرض ذلك على الخادم (للمواقع العامة وفهرسة محرك البحث). انا اعقتد ان هذا رائع.

لذا يوفر برنامج Blazor تجميعًا في الوقت الفعلي لتجميع مواقع الويب وتشغيله في المتصفح الذي يصل إلى F5. إنه سريع ، جربه.

mcurros شكرا لك على إجابتك. أتفق معك حتى لو كنت أعتقد أن إمكانية تغيير بنية القوالب بالسحب والإفلات باستخدام معاينة المتصفح قد تكون مفيدة حقًا.
إذا فكرت في معاينة مطور حيث يكون للمكونات القدرة على النقل وتغيير حجمها وتضمينها في مكونات أخرى مع إسقاط نهاية السحب ، فأخيرًا تحديث قالب CSHTML.
على سبيل المثال ، تتيح لك Concrete5 تغيير التخطيط على الفور.
اسمحوا لي أن أعرف إذا كنت تعتقد أن "وضع التصميم" سيكون ممكنًا في المستقبل.

تحياتي الحارة،
فيليبو.

لا أعتقد أنه سيكون مستقبل VB:
إن إستراتيجية Microsoft الجديدة لإنهاء التطور المشترك لـ C # و Visual Basic ستجعله أقل احترامًا من قبل المطورين
C # هو مستقبل مطوري .Net ، لذلك حان الوقت لتقييد استخدام Visual Basic للأنظمة القديمة المحلية

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 مليون سطر من التعليمات البرمجية ، نصفها لا يزال قيد الاستخدام ، الآن. قُتل VB.Net بسبب جهل أحدث جيل من المبرمجين للغة نفسها (وجميع الحمقى الذين استمروا في مقارنتها بـ Visual Basic - Apples to Oranges) مع مقارنات خاطئة بشكل سخيف في الأداء والمتجهات الأخرى RIP VB.Net وملايين المطورين الذين سيفقدون وظائفهم نتيجة لذلك.

مثل DamianEdwards ، قمت

https://github.com/mevdschee/aspnetcorevb

marcusoftnet مثال Damian رائع لاستخدام .cshtml للمشاهدات وباقي التطبيق في VB.NET ، لكن سيكون من الرائع استخدام .vbhtml للمشاهدات 😃

لا أعرف ما يدور في ذهن Microsoft ، وجود لغة برمجة مثل VB في يديها ، والقدرة على ملاءمة مناطق جانب العميل والخادم على الويب

العميل: vbscript
الخادم: vb

تلميع VB هو شيء من شأنه أن يفيدك ، وهو مفهوم ومفهوم وقابل للتكيف ، ومن المؤلم والحنين حقًا معرفة أن vb.net ليس على الويب ، ولكنه خطأك والتركيز فقط على واحد

ترجمة Bing:
لا أعلم أن Microsoft في رأسها ، حيث تمتلك لغة برمجة مثل VB قادرة على الملاءمة على الويب لمنطقتين من جانب العميل وجانب الخادم

العميل: VBScript
الخادم: VB

تلميع VB هو شيء المستفيد ، ومفهوم ومفهوم وقابل للتكيف ، يعطي حقًا الكثير من الألم والحنين لمعرفة أن vb.net ليس على الويب ، ولكنه خطأك والتركيز فقط على واحد

فقط لاحظت هذا:
https://blogs.msdn.microsoft.com/vbteam/2018/11/12/visual-basic-in-net-core-3-0/

هل سيغير هذا أي شيء؟

سيتيح ذلك استمرار دعم VB.NET لإضافة الميزات التي تمت إضافتها بالفعل في C # ، ولكن مرة أخرى لا يوجد vbhtml

hishamco No. بينما

محرك Razor يدعم C # فقط

هذا ما قصدته 😄

يُظهر مؤشر Tibor نمو VB.NET ، على أي حال نحن بحاجة إلى ماكينة حلاقة vb

مثل DamianEdwards ، قمت

https://github.com/mevdschee/aspnetcorevb

mevdschee أشعر بالفضول بشأن العملية التي

Webbarrr لقد قمت بتحويل كود C # إلى VB يدويًا واستخدمت قالب Visual Studio C # للبدء منه.

reducktedhishamcomuratg @ السل متجbrunojuliaoEilonrynowakCheungTatMingVBDotNetCoder @ simonmilne80NatShawSrqComputerguy @ sreenathGanga1988mcurrosfilippobottegamrjohnrbeefydogmevdschee @ Baner041986hannespreishuberWebbarrr

أوافق على أن vbhtml هو سبب خاسر ، لأن كود VB.NET لا يتناسب بشكل جيد مع بناء جملة HTML و CSS و JavaScript! بدلاً من ذلك ، أطلب vbxaml!
لقد نشرت هذا الاقتراح في VB.NET repo منذ أشهر:
https://github.com/dotnet/vblang/issues/329
هذه اقتباسات:

دع VB.NET يركب موجة WebAssembly الجديدة:
بعد WebAssembly و Blazor ، تمثل الفرصة نفسها: من المنطقي الآن كتابة XAML بدلاً من HTML5 (الاختلافات ضئيلة) وكتابة VB.NET بدلاً من Java script (بنفس الطريقة التي يحل بها C # محل Java في Blazor الآن).
يوجد بالفعل مشروع اسمه Ooui يحاول القيام بذلك في C #.
أعتقد أن VB.NET يجب أن تفعل الشيء نفسه ، وأن يكون لديها مشروع لتصميم صفحات ASP.NET برمز XAML و VB.NET ، مع الاستفادة من العمل المنجز في SilverLight و Blazor و Ooui. إذا بدأ هذا الآن ، فيمكن أن ينمو بشكل مطرد ، بدلاً من انتظار استقرار Blazor و Ooui ثم يقول MS:
عذرا ، سيكون مكلفا على VB.NET اللحاق بالركب!

سيجعل VBlazor (.vbxaml) مطوري سطح المكتب ذوي الخبرة في VB.NET و WPF / UWP ينتقلون إلى ASP.NET بسلاسة.

IMHO باستخدام لغة XAML أو لغة قوالب مثل Fluid سيجعل الجميع سعداء ، لأن الشفرة مكتوبة لـ C # فقط

سيكون VBLazor مشابهًا لطريقة عرض التصميم uwp / wpf ، ولكن مع ملفين خلفيين للتشفير ، أحدهما لرموز الخادم vb.net والآخر لرموز العميل (البرنامج النصي) ، مع القدرة على استخدام نمط MVVM لتنظيم المشاريع الكبيرة. سيتم الامتثال لـ XAML مع html5 ، وسيتم تجميع أنماط Xaml إلى CSS ، وسيتم تجميع أكواد البرنامج النصي VB.NET إلى WebAssembly.

أقوم بإغلاق هذا لأنه ، للأسف ، من الواضح أنه لا توجد نية لإضافة قوالب مشروع VB.NET لـ ASP.NET Core.

reducktedmuratg @ السل متجbrunojuliaorynowakCheungTatMingVBDotNetCoder @ simonmilne80NatShawSrqComputerguy @ sreenathGanga1988mcurrosfilippobottegamrjohnrbeefydogmevdschee @ Baner041986hannespreishuberWebbarrr

أخيرًا: نموذج VB.NET ASP.NET MVC Core Razor يعمل!
https://github.com/VBAndCs/VB.NET-Razor
لقد قمت بتطبيق VBRazorViewEngine بسيط في مشروع VbRazor.
لاستخدام VBRazorViewEngine في المشروع ، أضفت هاتين العبارتين إلى طريقة Startup.ConfigureServices:
`` VB.NET
services.AddTransient (من خيارات IConfigureOptions (من MvcViewOptions) ، VBRazor.VBRazorMvcViewOptionsSetup) ()
services.AddSingleton (من 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

تستخدم خاصية Razor xml literals لتكوين كود HTML وإرجاعها كسلسلة .. مثال:
`` VB.NET
الواردات VbRazor

عرض فهرس الطبقة العامة
تنفذ 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

فئة النهاية


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

هذا كل شئ!! إذا قمت بتشغيل المشروع ، فسترى صفحة الويب هذه:
VBRazor

كان هذا سهلاً حقًا ، ولكنه يحتاج إلى مزيد من العمل ، لذلك أتمنى أن تبدأ في المساهمة في هذا المشروع لجعله أداة منتجة حقيقية!
أول شيء يجب القيام به ، هو إنشاء قالب VB.NET لـ ASP.NET MVC Core. اضطررت إلى إنشاء مشروع C # ثم تحويله إلى VB!

الشيء الثاني الذي يجب القيام به ، هو إضافة دعم Intellisense لسمات html في xml literals في VB!

يحتاج محرك عرض الحقيقة إلى تحليل نوع من القوالب مثل ما رأيناه في Razor أو Markdown .. إلخ ، ولكن ما فعلته سهل لأن الترميز النهائي الذي تم إنشاؤه من الكود هو ما فعلته الفئات التي تم إنشاؤها من Razor

تضمين التغريدة
لقد فعلت ذلك في غضون ساعتين ، بفضل VB XML literals ، التي كادت أن تُنسى! أنا نفسي قد نسيتها حتى أسابيع قليلة عندما كنت أحاول اختراع بعض القواعد اللغوية الجديدة لاقتراحها لذلك كتبت وأكملها المحرر بعلامة الإغلاق :) ومع ذلك ، هناك الكثير مما يجب فعله لجعل هذه الفكرة منتجًا كاملاً.

https://gitter.im/VB-NET/Volunteer
شكر.

Xml Literal هي ميزة جيدة جدًا لا يمتلكها VB إلا. فيما يتعلق بـ vbhtml يحتاج إلى وقت وجهد وأنا من الأشخاص المهتمين من الماضي ، أتمنى أن نبدأ في هذا قريبًا

تحية للجميع،
هذا هو VB Razor وظيفي (Vazor). إستمتع:
https://github.com/VBAndCs/Vazor

تحية للجميع،
يرجى دعم هذا الاقتراح https://github.com/aspnet/AspNetCore/issues/9270
يمكن أن يكون البديل السهل لإنشاء صفحات vbhtml.

VBAndCs ، يرجى محاولة تجنب النشر على المشكلات القديمة المغلقة. نحاول الاحتفاظ بتعقب هذه المشكلة للأخطاء وطلبات الميزات في ASP.NET Core وتقليل المناقشات الأخرى.

تضمين التغريدة
عذرًا ، هذا طلب ميزة غير موجود حتى الآن. لا ينبغي أن يزعجك كونك مغلقًا ، لكنه لا يزال يظهر في بحث Google ، لذلك من المهم الاحتفاظ بجميع المعلومات ذات الصلة حول هذا الموضوع معًا.
على أي حال ، هذا هو ردي الأخير في هذا الموضوع.
شكر

VBAndCs ، من فضلك لا تثبط عزيمتك من النغمة Eilon (مدير Microsoft ، وليس مطورًا ، وفقًا لسيرته الذاتية على Github). أعتقد أنه يستخدم كلمات غريبة ليقول "شكرًا لك على مساهمتك الرائعة".

تضمين التغريدة
شكرا لدعمك :). يمكنني أن أتخيل الضغط الهائل الذي يتعرض له Eilon مع مئات الإخطارات يوميًا ، إجراؤها ، والأسئلة التي يجب الإجابة عليها والاقتراحات للرفض: dancing_men:
لذلك ، سوف أشير إلى هذا الموضوع في مقترحاتي (التي آمل أن تستمر في الظهور حتى يستعيد VB.NET مكانه الصحيح :)).
آمل أن يناقش إيلون المقترحات المهمة أو على الأقل أن يتركها مفتوحة لبعض الوقت للسماح للمجتمع بمناقشتها بدلاً من القفز فورًا إلى زر الإغلاق.
شكرا مرة أخرى mevdschee ، وآسف Eilon :)

لقد كنت أتابع هذا الموضوع لفترة طويلة حيث كان من المفترض أن يكون الحل الكامل المناسب في رأيي على خريطة الطريق دون الاضطرار إلى فرض ذلك. شعرت بخيبة أمل طفيفة على الرغم من أن أرى بعد العمل الشاق الذي بذلتهVBAndCs أن Eilon سيحاول إيقاف أي شخص آخر يحاول المساعدة في حل المشكلة للعديد من الأشخاص! أستطيع أن أفهم أن هناك الكثير من الضغط ، لكن حقيقة أن الناس لا يزالون يتابعون هذا يظهر أهمية لكثير من الناس! ثابر على العمل الجيد :)

مرحبا بالجميع ،

نشجع نشاط المجتمع وميزاته بشدة ، لكن لا يمكننا قبول طلبات ميزات معينة أو إصلاحات أخطاء لأنها ليست أولوية عالية بما يكفي بالنسبة لنا للتنفيذ. يشمل هذا أيضًا الحالة التي يوجد فيها طلب سحب يتضمن الاختبارات والتوثيق. إن إجراء أي تغيير من أي حجم له تكلفة ، بما في ذلك التكلفة طويلة الأجل ، وعلينا موازنة ذلك مقابل جميع الأعمال المحتملة الأخرى التي ندرسها. عندما يتعلق الأمر بمشاهدة المحركات ، فنحن ملتزمون بنسبة 100٪ بمحرك Razor view مع دعم C # وتجربة محرر رائعة في Visual Studio و Visual Studio for Mac و Visual Studio Code.

نعتقد أن هناك فرصة عظيمة هنا لأشخاص مثل VBAndCs لإنشاء مشاريع إضافية تعمل مع ASP.NET Core وتتكامل بطرق متنوعة. يسعدنا الارتباط بهذه المشاريع من خلال جعل الأشخاص يرسلون العلاقات العامة إلى الملفات التمهيدية مثل ملف MVC التمهيدي .

شكر،
ايلون

إلى @ simonmilne80 و mevdschee وأي شخص مهتم:
لقد أضفت مثالًا عمليًا لصفحات zml إلى الريبو ، لذا من فضلك ، دعنا نأخذ المناقشة إلى هذا الموضوع: https://github.com/VBAndCs/Vazor-DotNetCore2/issues/1
وأعطي Eilon بعض لحظات السلام :)

راجع للشغل نحن نتطلع إلى إضافة إشارة إلى Vazor إلى ASP.NET Community Standup القادم. هل لديك منشور مدونة يمكننا الرجوع إليه بالإضافة إلى GitHub repo؟

تضمين التغريدة
آسف لتأخير ردي. أنا في حاجة لاستكمال عملي أولا، وكتابة التمهيدي ملف يحتوي على معلومات أساسية حول العلامات ZML.
ZML 1.0 لديه الآن الريبو الخاص به و NuGet .
أود أن أوافق إذا ذكرت ZML ، لأنها لغة مستقلة (يحتوي الريبو على عينة مشروع بإصداري c # و VB ، وكلاهما يستخدم نفس ملفات .zml.
شكر.

حدث هذا بالفعل! https://github.com/VBAndCs/Vazor/issues/1

النظر في تحويل تطبيق VB.NET WebForms إلى .NET Core Razor Pages. إذا كان صحيحًا أن VB لن يتم دعمه ، فما مسار ASP.NET الحديث الذي يجب أن أقوم بالترحيل إليه بدلاً من ذلك؟ إعادة كتابة التطبيق في C # ليس خيارًا.

Gruski إذا كان هناك الكثير من أكواد VB.NET التي هي رمز "مكتبة" - أي ليست خاصة بنماذج WebForms - فهذا كله يعمل بشكل جيد في .NET Core / Razor Pages / Blazor world. إنه جزء WebForms مقابل Razor (و Blazor) الذي يتطلب المزيد من العمل.

لقد أصدرنا للتو معاينة لكتاب إلكتروني لمساعدة المطورين على الانتقال من WebForms إلى Blazor:

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

لذلك قد يكون من الممكن الاحتفاظ ببعض تطبيقاتك في VB ، وعندها فقط يجب أن تكون واجهة المستخدم C #.

لذلك قد يكون من الممكن الاحتفاظ ببعض تطبيقاتك في VB ، وعندها فقط يجب أن تكون واجهة المستخدم C #.

يمكنك استخدام مشروع VB.NEt لواجهة المستخدم أيضًا. ستحتوي ملفات cshtml فقط على أجزاء C #. إذا كنت تريد تجنب كود C # ، فيمكنك استخدام xml literals في VB.NEt لتصميم واجهة المستخدم كما فعلت في مشروع Vazor الخاص بي:
https://github.com/VBAndCs/Vazor-DotNetCore2
أخذ أنتوني جرين هذا إلى مستوى آخر كما ترون في آخر مواضيعه في مدونته:
https://anthonydgreen.net/
أو هنا:
https://github.com/dotnet/vblang/issues/483
اقترحت أيضًا استخدام أوامر علامة XML لتجنب كل من C # و VB والحصول على شفرة XML نقية (أطلق عليها اسم ZML):
https://github.com/VBAndCs/ZML

على الرغم من أن مشروعنا هو مشروع WebForms ، إلا أننا لم نعد نستخدمه كما كان الغرض منه في الأصل. كان هذا تطبيقًا قديمًا ولكن كبيرًا للمؤسسات تم تحويله على مر السنين لاستخدام إطار عمل جانب العميل Vue.js فقط الذي يستدعي WebMethods الموجودة في كل رمز .aspx خلف الصفحات. لذلك هناك: لا توجد مكونات خادم (لا يوجد runat = "خادم" أي شيء) ، ولا توجد حالة عرض ، ولا منشورات صفحة كاملة (لا يوجد عنصر "نموذج"). بخلاف طريقة التحميل التي تهيئ ديناميكيًا بعض مكونات جانب عميل Vue ، فإن الكود الموجود خلفها يحتوي فقط على WebMethods.

مع وضع ذلك في الاعتبار ومتطلبات الانتقال إلى .NET core ، ما هي تقنية ASP.NET الجديدة التي يجب أن أقوم بترحيل المشروع إليها إذا كنت أرغب في الابتعاد عن WebForms؟ لا معنى لـ MVC بالنسبة لي لأن Vue.js لديه بالفعل نمط MVC من جانب العميل ، وهو رأيي أكثر أناقة ، فلماذا أحتاجه على الخادم؟ Blazor لا معنى له أيضًا لأن ذلك قد يستلزم إعادة كتابة واجهة المستخدم بأكملها مرة أخرى.

Gruski أوصي بـ Razor Pages. من السهل جدًا البدء بـ: فقط أنشأت مجلد Pages في تطبيق ASP.NET Core وابدأ في إضافة ملفات .cshtml إليه. كل صفحة هي في الأساس عنوان URL ، ويمكنك وضع HTML تعسفي فيه ، ثم إضافة أي C # تريده لمنطق الخادم.

جرب هذا البرنامج التعليمي للبدء: https://docs.microsoft.com/en-us/aspnet/core/tutorials/razor-pages/razor-pages-start؟view=aspnetcore-3.0&tabs=visual-studio

Eilon هل تحتوي صفحات Razor على

لا تدعم صفحات الحلاقة WebMethods. أوصي باستخدام MVC لتلك الأساليب. يمكنك مزج Razor Pages و MVC في نفس التطبيق.

Gruski لقد كنت

إذا كانت لديك واجهة المستخدم الخاصة بك في Vuew.js ، فهل يمكنك فقط استخدام ASP.NET Core MVC / WebAPI؟ هذا يعمل بشكل جيد. على الرغم من أن هذه المقالة تتضمن الكثير من Angular ، إلا أنها تُظهر التقنية العامة: https://devblogs.microsoft.com/vbteam/combining-angular-visual-basic-and-net-core-for-developing-modern- تطبيقات الويب/

هناك مجالان لمشكلات الدعم:

  • Razor غير مدعوم لـ Visual Basic ، على الرغم من أن VBAndCs و AnthonyDGreen قد
  • لا توجد قوالب لـ ASP.NET WebAPI.
هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات