ΕΠΙΔΙΌΡΘΩΣΗ: Με το .NET Framework 2.0 Service Pack 1, η μέθοδος ModuleBuilder.GetTypeToken επιστρέφει ένα εσφαλμένο διακριτικό

Συμπτώματα

Με το Microsoft .NET Framework 2.0 Service Pack 1, η μέθοδος ModuleBuilder.GetTypeToken επιστρέφει ένα εσφαλμένο διακριτικό.

Σημείωση Αυτό το ζήτημα δεν παρουσιάζεται στο .NET Framework 2.0.

Για παράδειγμα, ο κώδικάς σας μπορεί να περιέχει τις ακόλουθες πληροφορίες.
try            {
AssemblyBuilder assb = AppDomain.CurrentDomain.DefineDynamicAssembly(new AssemblyName("MyAssembly"), AssemblyBuilderAccess.ReflectionOnly);
ModuleBuilder modb = assb.DefineDynamicModule("MyModule");
Type t = typeof(object).MakeArrayType();
int Token = modb.GetTypeToken(t).Token;
Console.WriteLine("Token of type \"{0}\" is 0x{1}", t.ToString(), Token.ToString("x08"));
Type t2 = modb.ResolveType(Token);
Console.WriteLine("Token 0x{1} resolved to type \"{0}\"", t2.ToString(), Token.ToString("x08"));

}
catch (Exception xcpt)
{
Console.WriteLine("An exception of type {0} occurred:", xcpt.GetType());
Console.WriteLine("{0}", xcpt.Message);
Console.WriteLine("{0}", xcpt.StackTrace);
}

Αφού δημιουργήσετε τον κώδικά σας, τα δεδομένα εξόδου παρόμοια με τα ακόλουθα:
Token of type "System.Object[]" is 0x01000001An exception of type System.TypeLoadException occurred:
Could not load type 'System.Object[]' from assembly 'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
at System.ModuleHandle.ResolveType(Int32 typeToken, RuntimeTypeHandle* typeInstArgs, Int32 typeInstCount, RuntimeTypeHandle* methodInstArgs, Int32 methodInstCount)
at System.ModuleHandle.ResolveTypeHandle(Int32 typeToken, RuntimeTypeHandle[] typeInstantiationContext, RuntimeTypeHandle[] methodInstantiationContext)
at System.Reflection.Module.ResolveType(Int32 metadataToken, Type[] genericTypeArguments, Type[] genericMethodArguments)
at System.Reflection.Module.ResolveType(Int32 metadataToken)
at tryfix401752.Program.Main(String[] args) in D:\KB950986\Program.cs:line 26

Προτεινόμενη αντιμετώπιση

Πληροφορίες άμεσης επιδιόρθωσης

Μια υποστηριζόμενη άμεση επιδιόρθωση είναι τώρα διαθέσιμη από τη Microsoft. Ωστόσο, προορίζεται για τη διόρθωση μόνο του ζητήματος που περιγράφεται σε αυτό το άρθρο. Eφαρμόστε τη μόνο σε συστήματα που αντιμετωπίζουν το συγκεκριμένο ζήτημα. Αυτή η επείγουσα επιδιόρθωση ενδέχεται να υποβληθεί σε πρόσθετο έλεγχο. Επομένως, εάν αυτό το ζήτημα δεν σας επηρεάζει ιδιαίτερα, σας συνιστούμε να περιμένετε έως το επόμενο service pack του .NET Framework 2.0 που περιέχει αυτήν την επείγουσα επιδιόρθωση.

Για να επιλύσετε αυτό το ζήτημα αμέσως, επικοινωνήστε με υπηρεσίες υποστήριξης πελατών της Microsoft για να αποκτήσετε την επείγουσα επιδιόρθωση. Για μια πλήρη λίστα αριθμών τηλεφώνου υπηρεσίες υποστήριξης πελατών της Microsoft και πληροφορίες σχετικά με το κόστος υποστήριξης, επισκεφθείτε την ακόλουθη τοποθεσία της Microsoft στο Web:Σημείωση Σε ειδικές περιπτώσεις, οι χρεώσεις που υφίστανται κανονικά για κλήσεις υποστήριξης ίσως ακυρωθούν εάν ο επαγγελματίας υποστήριξης της Microsoft κρίνει ότι μια συγκεκριμένη ενημερωμένη έκδοση θα επιλύσει το ζήτημά σας. Οι συνηθισμένες χρεώσεις υποστήριξης θα ισχύει για πρόσθετες ερωτήσεις υποστήριξης και για θέματα που δεν αφορούν τη συγκεκριμένη ενημερωμένη έκδοση.

Προϋποθέσεις

Πρέπει να έχετε το .NET Framework 2.0 Service Pack 1 για να εφαρμόσετε αυτήν την επείγουσα επιδιόρθωση.

Απαίτηση επανεκκίνησης

Δεν χρειάζεται να κάνετε επανεκκίνηση του υπολογιστή μετά την εφαρμογή αυτής της άμεσης επιδιόρθωσης.

Πληροφορίες αντικατάστασης άμεσης επιδιόρθωσης

Αυτή η επείγουσα επιδιόρθωση δεν αντικαθιστά άλλες επείγουσες επιδιορθώσεις.

Πληροφορίες αρχείων

Η αγγλική έκδοση αυτής της άμεσης επιδιόρθωσης έχει τα χαρακτηριστικά αρχείου (ή νεότερα χαρακτηριστικά αρχείου) που παρατίθενται στον παρακάτω πίνακα. Οι ημερομηνίες και οι ώρες για τα αρχεία αυτά αναφέρονται σε Συντονισμένη παγκόσμια ώρα (UTC). Όταν προβάλλετε τις πληροφορίες του αρχείου, μετατρέπεται σε τοπική ώρα. Για να βρείτε τη διαφορά μεταξύ της ώρας UTC και της τοπικής ώρας, χρησιμοποιήστε την καρτέλα Zώνη ώρας στο στοιχείο Hμερομηνία και ώρα " στον πίνακα ελέγχου.
Όνομα αρχείουΈκδοση αρχείουΜέγεθος αρχείουΗμ/νίαΏραΠλατφόρμα
Mscordacwks.dll2.0.50727.1823822,28008-Apr-200803:36x86
Mscorlib.dll2.0.50727.18234,345,85608-Apr-200803:36x86
Mscorwks.dll2.0.50727.18235,852,67208-Apr-200803:36x86

Κατάσταση

Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα ζήτημα των προϊόντων της Microsoft που παρατίθενται στην ενότητα "Ισχύει για".

Περισσότερες πληροφορίες

Για περισσότερες πληροφορίες σχετικά με την ορολογία των ενημερώσεων λογισμικού, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο στη Γνωσιακή Βάση της Microsoft:
824684 περιγραφή της βασικής ορολογίας που χρησιμοποιείται για την περιγραφή ενημερωμένων εκδόσεων λογισμικού της Microsoft
Ιδιότητες

Αναγνωριστικό άρθρου: 950986 - Τελευταία αναθεώρηση: 14 Ιαν 2017 - Αναθεώρηση: 1

Σχόλια