Düzeltme: .NET Framework 3.5 Service Pack 1 çalıştıran bir bilgisayarda, JIT derleyicisi ve yerel görüntü mscorjit.dll'nin dosyasını kullanan Oluşturucu (Ngen.exe) yanlış kod verebilir:
Microsoft .NET Framework 3.5 Service Pack 1 (SP1) çalıştıran bir bilgisayarda, tam zamanında (JIT) derleme ve yerel görüntü mscorjit.dll'nin dosyasını kullanan Oluşturucu (Ngen.exe) yanlış kod oluşturulmasına neden olabilir. Bu nedenle, bir 32-bit yönetilen c++ uygulaması yanlış sonuçlar doğurabilir.
Bu sorun aşağıdaki koşullar geçerli olursa oluşur:
Dört skalar mağazalarında ve hiçbir yönetilen nesne başvurularını az yapı ya da sınıf kaynak koduna sahiptir.
Cpblk yönerge veya Initblk yönergesi kullanın.
Not 64 Bitlik bir uygulama içinde bu sorun oluşmaz.
Desteklenen bir düzeltme Microsoft'tan edinilebilir. Ancak, bu düzeltmeyi yalnızca bu makalede açıklanan sorunu gidermesi amaçlanmaktadır. Bu düzeltmeyi yalnızca bu sorunla karşılaşmış olan sistemlere uygulayın. Bu düzeltme, ek sınama uygulanabilir. Bu nedenle, bu sorundan ciddi bir şekilde etkilemiyorsa, bu düzeltmeyi içeren bir sonraki yazılım güncelleştirmesini beklemeniz önerilir.
Bu düzeltmeyi msdn Kod Galerisi'nden yüklemek için aşağıdaki Microsoft Web sitesini ziyaret edin:
Not msdn Kod Galerisi'nde düzeltmenin kullanılabilir olduğu diller görüntülenir. Kendi dilinizi görmüyorsanız, çünkü kod Galerisi kaynak sayfasının bu dil için kullanılabilir olur.
Not Ek sorunlar oluşursa veya sorun giderme gerekiyorsa, ayrı bir hizmet isteği oluşturmanız gerekebilir. Ek destek sorularına ve bu düzeltme için geçerli olmayan sorunlara normal destek ücretleri uygulanır. Tam listesi Microsoft Müşteri Hizmetleri ve Destek telefon numaralarını veya ayrı bir hizmet isteği oluşturmak için aşağıdaki Microsoft Web sitesini ziyaret edin:
Not 64-Bit platform üzerinde çalışan bir 32-bit uygulaması varsa, bu sorunu gidermek 64 bit sürümü için düzeltmeyi uygulayın.
Önkoşullar
.net Framework 3.5 SP1 bu düzeltmeyi uygulamak için yüklü olması gerekir.
Yeniden başlatma gereksinimi
Güncelleştirilen dosyalardan birinin kullanılıyorsa bilgisayarı yeniden başlatmanız gerekebilir.
Düzeltme değiştirme bilgileri
Bu düzeltme diğer düzeltmelerin yerini almaz.
Dosya bilgileri
Bu düzeltmenin İngilizce sürümü dosya öznitelikleri (veya daha yeni dosya özniteliklerine) sahip aşağıdaki tabloda listelenir. Tarihleri ve saatleri bu dosyaların Koordinatlı Evrensel Saat'e (utc) listelenmiştir. Dosya bilgilerini görüntülediğinizde yerel saate dönüştürülür. utc ve yerel saat arasındaki farkı bulmak için kullanmak Saat dilimi sekmesinde Tarih ve saat Denetim Masası'ndaki öğe.
Windows 2000, Windows xp ve Windows Server 2003 x 86 sürümleri
Bu tabloyu kapaBu tabloyu aç
Dosya adı
Dosya sürümü
Dosya boyutu
Tarih
Saat
Mscordacwks.dll dosyasının
2.0.50727.3068
992,264
16 Eyl 2008
13: 13
Mscorjit.dll'nin
2.0.50727.3068
367,104
16 Eyl 2008
13: 13
Mscorlib.dll
2.0.50727.3068
4,546,560
16 Eyl 2008
13: 13
Mscorwks.dll
2.0.50727.3068
5,815,808
16 Eyl 2008
13: 13
Windows 2000, Windows xp ve Windows Server 2003 x 64 sürümleri
Bu tabloyu kapaBu tabloyu aç
Dosya adı
Dosya sürümü
Dosya boyutu
Tarih
Saat
Platform
Mscordacwks.dll dosyasının
2.0.50727.3068
992,264
16 Eyl 2008
13: 13
x 86
Mscorjit.dll'nin
2.0.50727.3068
367,104
16 Eyl 2008
13: 13
x 86
Mscorlib.dll
2.0.50727.3068
4,546,560
16 Eyl 2008
13: 13
x 86
Mscorwks.dll
2.0.50727.3068
5,815,808
16 Eyl 2008
13: 13
x 86
Mscordacwks.dll dosyasının
2.0.50727.3068
1,767,944
16 Eyl 2008
10: 33
x64
Mscorjit.dll'nin
2.0.50727.3068
1,580,032
16 Eyl 2008
10: 33
x64
Mscorlib.dll
2.0.50727.3068
4,562,944
16 Eyl 2008
10: 33
x64
Mscorwks.dll
2.0.50727.3068
10,079,744
16 Eyl 2008
10: 33
x64
Windows 2000, Windows xp ve Windows Server 2003 IA-64 sürümleri
Bu tabloyu kapaBu tabloyu aç
Dosya adı
Dosya sürümü
Dosya boyutu
Tarih
Saat
Platform
Mscordacwks.dll dosyasının
2.0.50727.3068
992,264
16 Eyl 2008
13: 13
x 86
Mscorjit.dll'nin
2.0.50727.3068
367,104
16 Eyl 2008
13: 13
x 86
Mscorlib.dll
2.0.50727.3068
4,546,560
16 Eyl 2008
13: 13
x 86
Mscorwks.dll
2.0.50727.3068
5,815,808
16 Eyl 2008
13: 13
x 86
Mscordacwks.dll dosyasının
2.0.50727.3068
3,087,880
16 Eyl 2008
10: 44
IA-64
Mscorjit.dll'nin
2.0.50727.3068
2,560,512
16 Eyl 2008
10: 44
IA-64
Mscorlib.dll
2.0.50727.3068
4,005,888
16 Eyl 2008
10: 44
IA-64
Mscorwks.dll
2.0.50727.3068
20,153,856
16 Eyl 2008
10: 44
IA-64
Windows Vista Service Pack 1 (SP1) ve Windows Server 2008, x86 sürümleri
Bu tabloyu kapaBu tabloyu aç
Dosya adı
Dosya sürümü
Dosya boyutu
Tarih
Saat
Platform
Mscorlib.Resources.dll
2.0.50727.3053
352,256
15 Eyl 2008
22: 25
x 86
Mscorlib.Resources.dll
2.0.50727.3053
303,104
15 Eyl 2008
22: 25
x 86
Mscorlib.Resources.dll
2.0.50727.3053
299,008
15 Eyl 2008
22: 25
x 86
Mscorlib.Resources.dll
2.0.50727.3053
315,392
27 Tem 2008
17: 58
x 86
Mscorlib.Resources.dll
2.0.50727.3053
425,984
15 Eyl 2008
22: 25
x 86
Mscorlib.Resources.dll
2.0.50727.3053
307,200
27 Tem 2008
17: 58
x 86
Mscorlib.Resources.dll
2.0.50727.3053
299,008
15 Eyl 2008
22: 25
x 86
Mscorlib.Resources.dll
2.0.50727.3053
311,296
27 Tem 2008
17: 58
x 86
Mscorlib.Resources.dll
2.0.50727.3053
331.776
15 Eyl 2008
22: 25
x 86
Mscorlib.Resources.dll
2.0.50727.3053
315,392
15 Eyl 2008
22: 25
x 86
Mscorlib.Resources.dll
2.0.50727.3053
307,200
27 Tem 2008
17: 55
x 86
Mscorlib.Resources.dll
2.0.50727.3053
348,160
27 Tem 2008
17: 58
x 86
Mscorlib.Resources.dll
2.0.50727.3053
319,488
27 Tem 2008
17: 55
x 86
Mscorlib.Resources.dll
2.0.50727.3053
290,816
15 Eyl 2008
22: 25
x 86
Mscorlib.Resources.dll
2.0.50727.3053
303,104
15 Eyl 2008
22: 25
x 86
Mscorlib.Resources.dll
2.0.50727.3053
311,296
15 Eyl 2008
22: 25
x 86
Mscorlib.Resources.dll
2.0.50727.3053
303,104
27 Tem 2008
17: 55
x 86
Mscorlib.Resources.dll
2.0.50727.3053
307,200
15 Eyl 2008
22: 25
x 86
Mscorlib.Resources.dll
2.0.50727.1434
397,312
11 Oca 2008
22: 59
x 86
Mscorlib.Resources.dll
2.0.50727.3053
299,008
15 Eyl 2008
22: 25
x 86
Mscorlib.Resources.dll
2.0.50727.3053
299,008
15 Eyl 2008
22: 25
x 86
Mscorlib.Resources.dll
2.0.50727.3053
278,528
27 Tem 2008
17: 55
x 86
Mscorlib.Resources.dll
2.0.50727.3053
278,528
27 Tem 2008
17: 55
x 86
Big5.nlp
Geçerli değil
66,728
18-Dec-2007
21: 03
Geçerli değil
Bopomofo.nlp
Geçerli değil
82,172
18-Dec-2007
21: 03
Geçerli değil
Ksc.nlp
Geçerli değil
116,756
18-Dec-2007
21: 04
Geçerli değil
Mscorlib.dll
2.0.50727.3068
4,546,560
01 Eki 2008
22: 27
x 86
Normidna.nlp
Geçerli değil
59,342
18-Dec-2007
21: 05
Geçerli değil
Normnfc.nlp
Geçerli değil
45,794
18-Dec-2007
21: 05
Geçerli değil
Normnfd.nlp
Geçerli değil
39,284
18-Dec-2007
21: 05
Geçerli değil
Normnfkc.nlp
Geçerli değil
66,384
18-Dec-2007
21: 05
Geçerli değil
Normnfkd.nlp
Geçerli değil
60,294
18-Dec-2007
21: 05
Geçerli değil
PRC.nlp
Geçerli değil
83,748
18-Dec-2007
21: 05
Geçerli değil
Prcp.nlp
Geçerli değil
83,748
18-Dec-2007
21: 05
Geçerli değil
Sortkey.nlp
Geçerli değil
262,148
18-Dec-2007
21: 05
Geçerli değil
Sorttbls.nlp
Geçerli değil
20,320
18-Dec-2007
21: 05
Geçerli değil
Xjis.nlp
Geçerli değil
28,288
18-Dec-2007
21: 05
Geçerli değil
Mscordacwks.dll dosyasının
2.0.50727.3068
992,264
01 Eki 2008
22: 27
x 86
Mscorjit.dll'nin
2.0.50727.3068
367,104
24 Eyl 2008
22: 21
x 86
Mscorwks.dll
2.0.50727.3068
5,815,808
01 Eki 2008
22: 27
x 86
Windows Vista SP1 ve Windows Server 2008 x 64 sürümleri
Bu tabloyu kapaBu tabloyu aç
Dosya adı
Dosya sürümü
Dosya boyutu
Tarih
Saat
Platform
Big5.nlp
Geçerli değil
66,728
18-Dec-2007
21: 01
Geçerli değil
Bopomofo.nlp
Geçerli değil
82,172
18-Dec-2007
21: 01
Geçerli değil
Ksc.nlp
Geçerli değil
116,756
18-Dec-2007
21: 02
Geçerli değil
Mscorlib.dll
2.0.50727.3068
4,562,944
01 Eki 2008
22: 25
x64
Normidna.nlp
Geçerli değil
59,342
18-Dec-2007
21: 03
Geçerli değil
Normnfc.nlp
Geçerli değil
45,794
18-Dec-2007
21: 03
Geçerli değil
Normnfd.nlp
Geçerli değil
39,284
18-Dec-2007
21: 03
Geçerli değil
Normnfkc.nlp
Geçerli değil
66,384
18-Dec-2007
21: 03
Geçerli değil
Normnfkd.nlp
Geçerli değil
60,294
18-Dec-2007
21: 03
Geçerli değil
PRC.nlp
Geçerli değil
83,748
18-Dec-2007
21: 03
Geçerli değil
Prcp.nlp
Geçerli değil
83,748
18-Dec-2007
21: 03
Geçerli değil
Sortkey.nlp
Geçerli değil
262,148
18-Dec-2007
21: 03
Geçerli değil
Sorttbls.nlp
Geçerli değil
20,320
18-Dec-2007
21: 03
Geçerli değil
Xjis.nlp
Geçerli değil
28,288
18-Dec-2007
21: 03
Geçerli değil
Mscordacwks.dll dosyasının
2.0.50727.3068
1,767,944
01 Eki 2008
22: 25
x64
Mscorjit.dll'nin
2.0.50727.3068
1,580,032
24 Eyl 2008
23: 06
x64
Mscorwks.dll
2.0.50727.3068
10,079,744
01 Eki 2008
22: 25
x64
Mscorlib.Resources.dll
2.0.50727.3053
352,256
15 Eyl 2008
22: 26
x 86
Mscorlib.Resources.dll
2.0.50727.3053
303,104
15 Eyl 2008
22: 25
x 86
Mscorlib.Resources.dll
2.0.50727.3053
299,008
15 Eyl 2008
22: 26
x 86
Mscorlib.Resources.dll
2.0.50727.3053
315,392
27 Tem 2008
18: 02
x 86
Mscorlib.Resources.dll
2.0.50727.3053
425,984
15 Eyl 2008
22: 26
x 86
Mscorlib.Resources.dll
2.0.50727.3053
307,200
27 Tem 2008
18: 02
x 86
Mscorlib.Resources.dll
2.0.50727.3053
299,008
15 Eyl 2008
22: 26
x 86
Mscorlib.Resources.dll
2.0.50727.3053
311,296
27 Tem 2008
18: 02
x 86
Mscorlib.Resources.dll
2.0.50727.3053
331.776
15 Eyl 2008
22: 26
x 86
Mscorlib.Resources.dll
2.0.50727.3053
315,392
15 Eyl 2008
22: 25
x 86
Mscorlib.Resources.dll
2.0.50727.3053
307,200
27 Tem 2008
17: 56
x 86
Mscorlib.Resources.dll
2.0.50727.3053
348,160
27 Tem 2008
18: 02
x 86
Mscorlib.Resources.dll
2.0.50727.3053
319,488
27 Tem 2008
17: 56
x 86
Mscorlib.Resources.dll
2.0.50727.3053
290,816
15 Eyl 2008
22: 26
x 86
Mscorlib.Resources.dll
2.0.50727.3053
303,104
15 Eyl 2008
22: 25
x 86
Mscorlib.Resources.dll
2.0.50727.3053
311,296
15 Eyl 2008
22: 25
x 86
Mscorlib.Resources.dll
2.0.50727.3053
303,104
27 Tem 2008
17: 56
x 86
Mscorlib.Resources.dll
2.0.50727.3053
307,200
15 Eyl 2008
22: 25
x 86
Mscorlib.Resources.dll
2.0.50727.1434
397,312
11 Oca 2008
22: 59
x 86
Mscorlib.Resources.dll
2.0.50727.3053
299,008
15 Eyl 2008
22: 25
x 86
Mscorlib.Resources.dll
2.0.50727.3053
299,008
15 Eyl 2008
22: 25
x 86
Mscorlib.Resources.dll
2.0.50727.3053
278,528
27 Tem 2008
17: 56
x 86
Mscorlib.Resources.dll
2.0.50727.3053
278,528
27 Tem 2008
17: 56
x 86
Big5.nlp
Geçerli değil
66,728
18-Dec-2007
21: 03
Geçerli değil
Bopomofo.nlp
Geçerli değil
82,172
18-Dec-2007
21: 03
Geçerli değil
Ksc.nlp
Geçerli değil
116,756
18-Dec-2007
21: 04
Geçerli değil
Mscorlib.dll
2.0.50727.3068
4,546,560
01 Eki 2008
22: 27
x 86
Normidna.nlp
Geçerli değil
59,342
18-Dec-2007
21: 05
Geçerli değil
Normnfc.nlp
Geçerli değil
45,794
18-Dec-2007
21: 05
Geçerli değil
Normnfd.nlp
Geçerli değil
39,284
18-Dec-2007
21: 05
Geçerli değil
Normnfkc.nlp
Geçerli değil
66,384
18-Dec-2007
21: 05
Geçerli değil
Normnfkd.nlp
Geçerli değil
60,294
18-Dec-2007
21: 05
Geçerli değil
PRC.nlp
Geçerli değil
83,748
18-Dec-2007
21: 05
Geçerli değil
Prcp.nlp
Geçerli değil
83,748
18-Dec-2007
21: 05
Geçerli değil
Sortkey.nlp
Geçerli değil
262,148
18-Dec-2007
21: 05
Geçerli değil
Sorttbls.nlp
Geçerli değil
20,320
18-Dec-2007
21: 05
Geçerli değil
Xjis.nlp
Geçerli değil
28,288
18-Dec-2007
21: 05
Geçerli değil
Mscordacwks.dll dosyasının
2.0.50727.3068
992,264
01 Eki 2008
22: 27
x 86
Mscorjit.dll'nin
2.0.50727.3068
367,104
24 Eyl 2008
22: 21
x 86
Mscorwks.dll
2.0.50727.3068
5,815,808
01 Eki 2008
22: 27
x 86
Windows Vista SP1 ve Windows Server 2008 IA-64 sürümleri
Sorunlu modülü aynı .ini dosya adı, ancak .dll uzantısı .ini uzantısını kullanır. Örneğin, "Daha fazla bilgi" bölümündeki örnek kod için .ini dosya Bug.ini dosya adı. Bug.ini dosyasını Bug.dll dosyasıyla aynı dizine koyun.
Not Bu yöntemin dezavantajı herhangi bir iyileştirme için olası performans etkisi olur. Modül önceden derlemek için yerel görüntü oluşturucu (Ngen.exe) kullanırsanız, bu yöntem kullanılamaz.
Yöntem 3'ü
Seçmeli olarak NoOptimization seçeneği MethodImplOptions numaralandırma MethodImplAttribute sınıfını kullanarak sorunlu yöntemleri için geçerlidir.
Not Bu yöntem, özgün Görüntü Oluşturucu (Ngen.exe) yöntem her düzeyde ve JIT derleyicisi için iyileştirmeler devre dışı bırakır. Olarak ne kadar performans etkilenir mi, yönteme bağlı olarak değişir.
Bug.cpp dosyasını derlemek için aşağıdaki komutu çalıştırın:
CL/CLR /gl /O2 bug.cpp/Link/dll /out:bug.dll
İstemci proje olarak kullanılmak üzere yeni Microsoft Visual C# projesi oluşturun.
Kod dosyası Test.cs dosyayı adlandırın ve sonra Test.cs dosyasında aşağıdaki kodu yapıştırın.
using Geometry;
namespace Test
{
class Tester
{
static void Main()
{
Vector3d v = new Vector3d(200, 200, 0);
v = v.DivideBy(150);
System.Console.WriteLine("{0}", v);
}
}
}
Test.cs dosyasını derlemek için aşağıdaki komutu çalıştırın:
CSC /r:bug.dll test.cs
Bildirim Test.exe dosyasına katıştırmak için aşağıdaki komutu çalıştırın:
Yazılım güncelleştirme terminolojisi hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Teşekkürler! Görüşleriniz, destek içeriğimizi geliştirmemize yardımcı olmak için kullanılmaktadır. Diğer yardım seçenekleri için, lütfen Yardım ve Destek Giriş Sayfasını ziyaret edin.