מהם קבצי DLL ואיך להשתמש בהם?

תשתית הפיתוח Net. מכילה מאות ספריות מובנות בהן אפשר להשתמש על מנת להקל על עצמנו בפיתוח הקוד.
היום נלמד כיצד ניתן להוסיף אותן לפרויקט שלנו ואיך להשתמש בהן.

במדריך איך ליצור מחשבון בC# אפשר לראות בתחילת הקוד שאנחנו כותבים את השורה
using System.Linq;

השורה הזו בעצם מייבאת לנו את הקוד הקיים ב System.Linq - namespace ומאפשרת לנו להשתמש בכל הטיפוסים והפונקציונאליות הקיימות בו.

ניתן יהיה לראות שאם נמחק את שורת ה using נקבל שגיאת קומפילציה משום שהפעולה Contains לא תימצא.

private static bool IsValidOperation(string input)
        {
            return operations.Contains(input); // פעולה אשר בודקת האם ערך מסוים קיים במערך
        }

אבל רגע.. מאיפה התכנית שלנו מכירה את ה System.Linq - namespace?
כאן קבצי ה DLL נכנסים לתמונה.

אם נכנס ל Solution Explorer שלנו (ctrl+alt+L) ניתן יהיה לראות תחת הפרויקט Calculator שורה הנקראת References.
בלחיצה על השורה יהיה אפשר לראות כל מיני שמות בהם הפרויקט שלנו משתמש, כל אחד מהקבצים הללו הוא קובץ DLL.


מהו קובץ DLL?

קובץ (DLL (Dynamic-Link Library הוא קובץ המכיל קוד מקומפל, נתונים ומשאבים אשר ניתנים לשיתוף בין פרויקטים.
ב C# תוכלו לראות הרבה פעמים את המילה Assembly לרוב יהיה מדובר בקבצי DLL.

זאת אומרת שאחד מקבצי ה DLL שברשימה הזו מכיל namespace בשם System.Linq ופונקציה בשם Contains.

אם מאוד מעניין אתכם מיהו קובץ ה DLL המדובר תוכלו להיכנס ל Object Browser באמצעות החיפוש המהיר (ctrl+Q)



ולאחר מכן לכתוב בשורת החיפוש את השם שברצונכם למצוא (או חלק ממנו) ותוכלו לראות פרטים עליו.



איך לייבא קבצי DLL חדשים?

על מנת להבין איך לייבא References לפרויקט המחשבון שלנו נוסיף פעולה פעולה חדשה.
  • הפעולה תקבל משתנה מטיפוס String ותדבר את המחרוזת שהיא קיבלה
  • בסיום הפעולה שיבצע המשתמש במחשבון המחשב ידבר את התוצאה שלו
אז איך עושים זאת?

העתיקו את הפעולה הבאה למחלקה Program בפרויקט שלכם.

קמפלו את הפרויקט (ctrl+shift+B), ותוכלו לראות שמתקבלת שגיאת הקומפילציה הבאה:



the type or namespace name 'SpeechSynthesizer' could not be found (are you missing a using directive or an assembly reference)?
הכוונה כאן היא שהפרויקט שלנו אינו מכיר את העצם SpeechSynthesizer.

אם נרצה שיכיר נצטרך להוסיף DLL:
לחצו מקש ימני על References בחלון ה Solution Explorer שלנו > לאחר מכן לחצו על Add Referece


בחלון שיפתח, לחצו על Assemblies > רשמו speech בשורת החיפוש בצד ימין > סמנו את System.Speech > לחצו OK.


*הערה: קיימת אפשרות לטעון קבצי DLL שהורדו מהאינטרנט או הועברו ולא נמצאים בספריות של Net. באמצעות לחיצה על Browse.

ניתן יהיה לראות שהתקלה לא נעלמה, המלל של התקלה נשאר אותו מלל אך התקלה השתנתה.
are you missing a using directive or an assembly reference?

לפני שהוספנו את קובץ ה DLL התקלה שהייתה היא missing assembly reference אבל עכשיו התקלה היא missing using directive.

ועכשיו כל מה שנשאר לעשות על מנת שהקוד יתקמפל בהצלחה זה להוסיף using לספרייה אותה בה אנחנו משתמשים:

זאת ניתן לעשות בקלות על ידי העמדת הסמן על מקום התקלה ולחיצה על אחד מצירופי המקשים ctrl+. / alt+Enter


ועכשיו כשהקוד סוף סוף מתקמפל כל מה שנשאר זה רק להוסיף לפעולת הMain שלנו קריאה לפעולה SpeakResult
*שימו לב שתצטרכו להמיר את התוצאה שאתם מכניסים לString על מנת שהפעולה תוכל לקבל אותו כפרמטר.


זו הייתה דוגמה לייבוא קוד לפרויקט שלנו מתוך הספריות של Net., אבל כמות הספריות ש Net. מכילה מוגבלת.
במקרים רבים נרצה להוסיף קבצי DLL וקבצים נוספים שלא קיימים בתשתית Net.

את זאת נלמד איך לעשות בפוסט הבא.

תגובות

פוסטים פופולריים מהבלוג הזה

מדריך: כיצד לבחור ואיך להתקין Visual Studio 2017

בדיקות לתשתית האוטומציה שלנו | סוגי הבדיקות

מדריך | אוטומציה באמצעות Selenium | חלק 1 - מבוא