بناء تطبيقات فيجول بايزيك 2008 باستخدام vbc.exe
لاستعراض كيفية بناء تطبيق دوت نيت بدون استخدام واجهة التطوير الرسومية سنقوم ببناء مجمع مؤلف من ملف واحد TestApp.exe وذلك باستخدام مترجم سطر الأوامر الخاص بفيجوال بايزيك 2008 مع الـ Notepad وسنحتاج في البداية هنا لبعض الكود المصدري ولهذا الغرض قم بفتح الـ notepad وأدخل الكود التالي
كود :
' A Simple Vb 2008 application
Imports System
Module TestApp
Sub Main()
Console.WriteLine("Testing! 1, 2, 3")
End Sub
End Module
وبعد انتهائك احفظ الملف باسم TestApp.vb في مجلد ملائم مثلا C:\VbcExample
دعنا الآن نتعرف على الخيارات الأساسية لمترجم VB2008 حيث تكون نقطة الاهتمام الأولى هي تحديد اسم المجمع الذي سيتم إنشاؤه حيث يكون كل احتمال ممثل بقيمة ممررة إلى vbc.exe عبر محددات سطر الأوامر وفيما يلي أهم هذه الخيارات وشرحها
• /out اسم المجمع الذي سيتم إنشاؤه حيث تكون القيمة الافتراضية هي اسم الملف *.vb الأول
• /target:exe يقوم ببناء تطبيق كونسول تنفيذي وهو الخيار الافتراضي
• /target:library يقوم ببناء ملف *.dll وحيد
• /target:module يقوم ببناء module وهي وحدة تكوين المجمعات متعددة الملفات
• /target:winexe يقوم ببناء تطبيق ويندوز تنفيذي
ورغم أنه يمكنك بناء تطبيقات ويندوز باستخدام target:exe إلا أن استخدام target:winexe يمنع نافذة الكونسول من الظهور عند تشغيل البرنامج. ولترجمة TestApp.vb إلى تطبيق كونسول باسم TestApp.exe افتح موجه سطر الأوامر الخاص بفيجوال ستوديو 2008 وانتقل إلى المجلد الذي قمت بحفظ الملف المذكور فيه
ثم قم بإدخال الأمر التالي
كود :
vbc /target:exe TestApp.vb
وهنا لم نستخدم الخيار out لهذا سيتم تسمية الملف التنفيذي TestApp.exe تلقائيا ليوافق اسم ملف الكود المصدري المدخل فإن أردنا تسمية الملف التنفيذي باسم مختلف يمكننا إدخال الأمر التالي عند سطر الأوامر
كود :
vbc /target:exe /out:MyFirstApp.exe TestApp.vb
كما تجدر ملاحظة أن بعض خيارات مترجم VB2008 يكون لها نسخة مختصرة مثل t بدلا من target لذا يمكنك اختصار الإدخال على لوحة المفاتيح بالشكل التالي
كود :
vbc /t:exe TestApp.vb
وبما أن بعض هذه الخيارات افتراضية مثل t:exe لذا يمكن حذفها وبالتالي يمكن ترجمة الملف TestApp.vb كما يلي
الوصول إلى مجمعات خارجية باستخدام vbc.exe
لاستعراض عملية الوصول إلى مجمعات خارجية سنقوم بتعديل الملف TestApp.vb ليقوم بعرض صندوق الرسائل الخاص بنماذج ويندوز ولعمل هذا افتح الملف TestApp.vb وعدله لتصبح محتوياته كالتالي
كود :
'A simple vb2008 appilication
Imports System
'Add This
Imports system.Windows.Forms
Module TestApp
Sub Main()
Console.WriteLine("Testing! 1, 2, 3")
'Add This
MessageBox.Show("Hello!")
End Sub
End Module
لاحظ أنه لإضافة مرجع لمجال الأسماء System.Windows.Forms في VB2008 يتم استخدام الكلمة المحجوزة Imports وعند سطر الأوامر عليك إعلام vbc.exe عن أي مجمع يحتوي على مجالات أسماء مستوردة ولهذا كي تستطيع استخدام الفئة MessageBox يجب عليك استخدام الخيار reference لتحديد مرجع للمجمع System.Windows.Forms.DLL كما يلي
كود :
vbc /r:System.Windows.Forms.dll TestApp.vb
فإن قمت بتشغيل التطبيق الآن ستلاحظ ظهور صندوق الرسائل المحتوى في مجال الأسماء المضاف.
وإن كنت بحاجة للوصول إلى عدة مجمعات خارجية باستخدام vbc.exe عندها عليك ذكر أسماء تلك المجمعات بقائمة ضمن سطر الأوامر مفصولة بفاصلة كما في المثال
كود :
vbc /r:System.Windows.Forms.dll, System.Drawing.dll *.vb