מבוא
בעיות ספריות מחלקה נייד עלולה להתרחש לאחר התקנת Microsoft Visual Studio 2012 עדכון 2. מאמר זה מתאר בעיות אלה והדרכים שלהם.
בעיה 1
מאפייני הבעיה
בעת שימוש במשאבים כדי לבנות פרוייקט ספריית המחלקות נייד לאחר התקנת Visual Studio 2012 עדכונים 2, ייתכן שתקבל את הודעות השגיאה הבאות:
'System.Type' אינו מכיל הגדרה עבור 'Assembly' ואת נמצאה שיטה סיומת 'Assembly' קבלת הארגומנט הראשון מסוג 'System.Type' (האם חסרה לך של באמצעות הוראת או הפניה להרכבה?)
הערה שגיאה זו מופיעה כאשר אתה משתמש ב- Microsoft Visual C#.
'Assembly' אינו חבר 'System.Type'
הערה שגיאה זו מופיעה כאשר אתה משתמש ב- Microsoft Visual Basic.
בעיה זו מתרחשת כאשר אחת מהפלטפורמות הבאות הוקצה בפרוייקט שלך:-
Microsoft .NET Framework 4.5 ו- .NET עבור Windows מאגר יישומים
-
.NET Framework 4.5 ו- Windows Phone 8
-
.NET Framework 4.5, .NET עבור יישומים במאגר Windows ו- Windows Phone 8
פתרון הבעיה
כדי לעקוף בעיה זו, תקן את הקוד שנוצר על-ידי המעצב של קובץ המשאבים. כדי לעשות זאת, לחץ פעמיים על הודעת השגיאה ולאחר מכן בצע את הפעולות הבאות:
עבור Visual C#
-
הוסף את הדברים הבאים באמצעות ההוראה:
using System.Reflection;
-
חפש את הקוד הבא:
typeof(Resource1).Assembly
קוד זה להחליף הקוד הבא:
typeof(Resource1).GetTypeInfo().Assembly
הקוד הבא הוא דוגמה בעל בעיה זו:
/// <summary>
/// Returns the cached ResourceManager instance used by this class. /// </summary> [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]internal static global::System.Resources.ResourceManager ResourceManager { get { if (object.ReferenceEquals(resourceMan, null)) { global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("PortableClassLibrary2.Resource1", typeof(Resource1).Assembly); resourceMan = temp; } return resourceMan; } }
Visual Basic
-
הוסף את הדברים הבאים באמצעות ההוראה:
Imports System.Reflection;
-
חפש את הקוד הבא:
GetType(Resource1).Assembly
קוד זה להחליף הקוד הבא:
GetType(Resource1).GetTypeInfo().Assembly
הקוד הבא הוא דוגמה בעל בעיה זו:
'''<summary>
''' Returns the cached ResourceManager instance used by this class. '''</summary> <Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _ Friend Shared ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager Get If Object.ReferenceEquals(resourceMan, Nothing) Then Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("PortableClassLibrary1.Resource1", GetType(Resource1).Assembly) resourceMan = temp End If Return resourceMan End Get End Property
בעיה 2
מאפייני הבעיה
לא ניתן להשתמש במשאבים כדי לבנות פרוייקט ספריית המחלקות נייד לאחר התקנת Visual Studio 2012 עדכונים 2. בנוסף, ייתכן שתקבל אחת מהודעות השגיאה שונים רבים. לדוגמה, ייתכן שתקבל אחת מהודעות השגיאה הבאות:
סוג 'System.Net.HttpStatusCode' מוגדר הרכבה שאין אליו הפניה. עליך להוסיף הפניה להרכבה ' System.Net, גירסה 2.0.5.0, תרבות = = ניטראלי, PublicKeyToken = 7cec85d7bea7798e, Retargetable = כן.
אין אפשרות להמיר באופן מפורש את סוג 'System.Net.HttpStatusCode' כדי ' System.Net.HttpStatusCode [%programfiles%\Reference Assemblies\Microsoft\Framework\. NETPortable\v4.5\Profile\Profile78\System.Net.Primitives.dll]'
שים לב שבעיה זו מתרחשת כאשר אחת מהפלטפורמות הבאות הוקצה בפרוייקט שלך:
-
.NET Framework 4.5 ו- Windows Phone 8
-
.NET Framework 4.5, .NET עבור יישומים במאגר Windows ו- Windows Phone 8
הגורם
בעיה זו מתרחשת מאחר Visual Studio 2012 עדכונים 2 הותקן לאחר התקנת את Windows Phone ערכת פיתוח תוכנה (SDK) 8.0. לכן, נמחקו הקבצים הבאים:
-
%programfiles%\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.5\Profile\Profile49\System.Net.dll
-
%programfiles%\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.5\Profile\Profile49\System.ServiceModel.dll
-
%programfiles%\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.5\Profile\Profile78\System.Net.dll
-
%programfiles%\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.5\Profile\Profile78\System.ServiceModel.dll
פתרון הבעיה
כדי לפתור בעיה זו, הפעל את תוכנית תיקון Visual Studio 2012. לשם כך, בצע את הפעולות הבאות:
-
לחץ על התחל, לחץ על לוח הבקרה, לחץ על תוכניותולאחר מכן לחץ על תוכניות ותכונות.
-
לחץ לחיצה ימנית על גירסת 2012 Visual Studio שהתקנת ולאחר מכן לחץ על שינוי.
-
לחץ על ' תקן ' בעת פתיחת אשף ההתקנה 2012 Studio חזותי.
הערה אם הגדרת סביבת עבודה חדשה של מפתחים, כדי להימנע מבעיה זו, עליך להתקין את Visual Studio 2012 עדכונים 2 לפני שתתקין את ה-SDK 8.0 Windows Phone.
מצב
Microsoft אישרה כי מדובר בבעיה במוצרי Microsoft הרשומים במקטע 'חל על'.