DCSIMG
Question from .Net Tapuz forum: How to run a .Net application on specific runtime version? - Justin myJustin = new Justin( Expriences.Current );

Question from .Net Tapuz forum: How to run a .Net application on specific runtime version?

שאלה:

אני מעונין להוסיף קטע קוד שבודק איזו גרסה יש ל Framework‏ במחשב שמריץ אחת מהאפליקציות שלי.

אני יודע שיש ב VS2005‏ אפשרות ל ClickOne‏ שמבצע את הפעולה ברגע שיוצרים קובץ התקנה, אבל זה לא רלוונטי בשבילי כי אני מוסר רק את קבצי האסמבלי הרלוונטים לאפליקציה.

"הפכתי את האינטרנט" כדי למצוא קוד כזה ואני פשוט לא מוצא פתרון..

אשמח לקבל דוגמא לקטע קוד ב C‏# שיוכל לזרוק Exception‏  ברגע שקוד שנוצר על VS2005‏ מנסה לרוץ על פלטפורמה שאיננה Framework 2‏ (למשל Framework 1.1)

 

תשובה:

 בקובץ הקונפיגיורציה של האפליקציה שלך יש אלמנט מעניין שלרוב לא מזכירים בשם <startup>.

באלמנט הזה ניתן לפרט אלמנט <supportedRuntime> עם גירסת הפריימוורק שבקונטקסט שלה תרוץ התוכנה שלנו.

הנה דוגמה של האלמנט:  

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

    <startup>

        <supportedRuntime version="v1.1.4322"/>

        <supportedRuntime version="v1.0.3705"/>

        <supportedRuntime version="v2.0.50727"/>

    </startup>

</configuration>

לדוגמה, אם נרצה באפליקציית WinForms שנכתבה על Visual Studio 2005 שהיא תרוץ רק בקונטקסט של דוט נט 2.0 נשנה את קובץ ה-App.Config כך שיכיל את האלמנט בצורה הבאה:

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

    <startup>

        <supportedRuntime version="v2.0.50727"/>

    </startup>

</configuration>

בואו נראה דוגמה מה קורה אם נרצה להריץ אפליקציה כאשר אין למחשב את גירסת ה-Runtime שביקשנו. למשל, נבקש את דוט נט 4.0 הדמיוני.

<configuration>

    <startup>

        <supportedRuntime version="v4.0.0"/>

    </startup>

</configuration>

נקבל את הודעת השגיאה הבאה בהריצת האפליקציה:

---------------------------
WinTesting.exe - .NET Framework Initialization Error
---------------------------
To run this application, you first must install one of the following versions of the .NET Framework:

v4.0.0

Contact your application publisher for instructions about obtaining the appropriate version of the .NET Framework.

 

 

קישור: http://www.tapuz.co.il/tapuzforum/main/Viewmsg.asp?forum=831&msgid=99637513

Published Friday, June 01, 2007 6:32 PM by Justin-Josef Angel [MVP]

Comments

No Comments