MEMPERBAIKI: Di komputer yang menjalankan .NET Framework 3.5 Paket Layanan 1, JIT compiler dan Generator gambar asli (Ngen.exe) yang menggunakan berkas Mscorjit.dll dapat menghasilkan kode kesalahan

Gejala

Di komputer yang menjalankan Microsoft .NET Framework 3.5 Paket Layanan 1 (SP1), compiler (JIT) hanya waktu dan Generator gambar asli (Ngen.exe) yang menggunakan berkas Mscorjit.dll akan menghasilkan kode salah. Oleh karena itu, aplikasi yang dikelola C++ 32-bit dapat menghasilkan hasil yang salah.

Masalah ini terjadi jika kondisi berikut benar:

  • Kelas dalam kode sumber atau struct memiliki kurang dari empat scalar jenis dan tidak ada referensi objek terkelola.

  • Anda menggunakan petunjuk Cpblk atau petunjuk Initblk.

Catatan Masalah ini tidak terjadi di aplikasi 64-bit.

Penyebab

Masalah ini terjadi karena regresi .NET Framework 3.5 SP1.

Pemecahan masalah

Informasi Hotfix

Tersedia hotfix yang didukung dari Microsoft. Namun, hotfix ini ditujukan untuk memperbaiki masalah yang dijelaskan di artikel ini. Menerapkan hotfix ini hanya ke sistem yang mengalami masalah khusus ini. Hotfix ini mungkin akan menerima pengujian tambahan. Oleh karena itu, jika Anda tidak terlalu dipengaruhi oleh masalah ini, kami sarankan Anda menunggu pemutakhiran perangkat lunak berikutnya yang berisi perbaikan terbaru ini.

Untuk men-download perbaikan terbaru ini dari Galeri kode MSDN, kunjungi situs Web Microsoft berikut ini:

http://code.msdn.microsoft.com/KB957542
Catatan Galeri kode MSDN menampilkan bahasa hotfix tersedia. Jika Anda tidak melihat bahasa Anda terdaftar, hal ini karena Galeri kode sumber halaman tidak tersedia untuk bahasa tersebut.


Catatan Jika terjadi masalah tambahan atau apabila pemecahan masalah apa pun diperlukan, Anda mungkin harus membuat permintaan layanan secara terpisah. Biaya dukungan biasa akan berlaku untuk dukungan tambahan pertanyaan dan masalah yang tidak memenuhi syarat untuk hotfix ini. Untuk daftar lengkap nomor telepon layanan pelanggan Microsoft dan dukungan atau untuk membuat permintaan layanan terpisah, kunjungi situs Web Microsoft berikut ini:

http://support.microsoft.com/contactus/?ws=supportCatatan Jika Anda memiliki aplikasi 32-bit yang berjalan pada platform 64-bit, Terapkan hotfix untuk versi 64-bit untuk menyelesaikan masalah ini.

Prasyarat

Anda harus menginstal .NET Framework 3.5 SP1 diinstal untuk menerapkan hotfix ini.

Persyaratan menghidupkan ulang

Anda mungkin harus memulai ulang komputer jika salah satu berkas yang diperbarui yang sedang digunakan.

Informasi penggantian hotfix

Hotfix ini tidak menggantikan hotfix lainnya.

Informasi file

Versi bahasa Inggris dari hotfix ini memiliki atribut berkas (atau atribut berkas yang lebih baru) yang tercantum dalam tabel berikut. Tanggal dan waktu untuk berkas-berkas tersebut dicantumkan dalam Waktu Universal Terkoordinasi (UTC). Ketika Anda melihat informasi berkas, akan diubah ke waktu lokal. Untuk menemukan perbedaan antara waktu UTC dan waktu lokal, gunakan tab Zona Waktu di item Tanggal dan Waktu di Panel Kontrol.

Windows 2000, Windows XP dan Windows Server 2003, x86 versi

Nama file

Versi file

Ukuran file

Tanggal

Waktu

Mscordacwks.dll

2.0.50727.3068

992,264

16-Sep-2008

13:13

Mscorjit.dll

2.0.50727.3068

367,104

16-Sep-2008

13:13

Mscorlib.dll

2.0.50727.3068

4,546,560

16-Sep-2008

13:13

Mscorwks.dll

2.0.50727.3068

5,815,808

16-Sep-2008

13:13

Windows 2000, Windows XP dan Windows Server 2003, x64 versi

Nama file

Versi file

Ukuran file

Tanggal

Waktu

Platform

Mscordacwks.dll

2.0.50727.3068

992,264

16-Sep-2008

13:13

x86

Mscorjit.dll

2.0.50727.3068

367,104

16-Sep-2008

13:13

x86

Mscorlib.dll

2.0.50727.3068

4,546,560

16-Sep-2008

13:13

x86

Mscorwks.dll

2.0.50727.3068

5,815,808

16-Sep-2008

13:13

x86

Mscordacwks.dll

2.0.50727.3068

1,767,944

16-Sep-2008

10:33

x64

Mscorjit.dll

2.0.50727.3068

1,580,032

16-Sep-2008

10:33

x64

Mscorlib.dll

2.0.50727.3068

4,562,944

16-Sep-2008

10:33

x64

Mscorwks.dll

2.0.50727.3068

10,079,744

16-Sep-2008

10:33

x64

Windows 2000, Windows XP dan Windows Server 2003, versi IA-64

Nama file

Versi file

Ukuran file

Tanggal

Waktu

Platform

Mscordacwks.dll

2.0.50727.3068

992,264

16-Sep-2008

13:13

x86

Mscorjit.dll

2.0.50727.3068

367,104

16-Sep-2008

13:13

x86

Mscorlib.dll

2.0.50727.3068

4,546,560

16-Sep-2008

13:13

x86

Mscorwks.dll

2.0.50727.3068

5,815,808

16-Sep-2008

13:13

x86

Mscordacwks.dll

2.0.50727.3068

3,087,880

16-Sep-2008

10:44

IA-64

Mscorjit.dll

2.0.50727.3068

2,560,512

16-Sep-2008

10:44

IA-64

Mscorlib.dll

2.0.50727.3068

4,005,888

16-Sep-2008

10:44

IA-64

Mscorwks.dll

2.0.50727.3068

20,153,856

16-Sep-2008

10:44

IA-64

Windows Vista Paket Layanan 1 (SP1) dan Windows Server 2008, x86 versi

Nama file

Versi file

Ukuran file

Tanggal

Waktu

Platform

Mscorlib.resources.dll

2.0.50727.3053

352,256

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

303,104

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

299,008

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

315,392

27-Jul-2008

17:58

x86

Mscorlib.resources.dll

2.0.50727.3053

425,984

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

307,200

27-Jul-2008

17:58

x86

Mscorlib.resources.dll

2.0.50727.3053

299,008

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

311,296

27-Jul-2008

17:58

x86

Mscorlib.resources.dll

2.0.50727.3053

331,776

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

315,392

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

307,200

27-Jul-2008

17:55

x86

Mscorlib.resources.dll

2.0.50727.3053

348,160

27-Jul-2008

17:58

x86

Mscorlib.resources.dll

2.0.50727.3053

319,488

27-Jul-2008

17:55

x86

Mscorlib.resources.dll

2.0.50727.3053

290,816

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

303,104

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

311,296

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

303,104

27-Jul-2008

17:55

x86

Mscorlib.resources.dll

2.0.50727.3053

307,200

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.1434

397,312

11-Jan-2008

22:59

x86

Mscorlib.resources.dll

2.0.50727.3053

299,008

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

299,008

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

278,528

27-Jul-2008

17:55

x86

Mscorlib.resources.dll

2.0.50727.3053

278,528

27-Jul-2008

17:55

x86

Big5.nlp

Tidak Dapat Diterapkan

66,728

18-Dec-2007

21:03

Tidak Dapat Diterapkan

Bopomofo.nlp

Tidak Dapat Diterapkan

82,172

18-Dec-2007

21:03

Tidak Dapat Diterapkan

Ksc.nlp

Tidak Dapat Diterapkan

116,756

18-Dec-2007

21:04

Tidak Dapat Diterapkan

Mscorlib.dll

2.0.50727.3068

4,546,560

01-Oct-2008

22:27

x86

Normidna.nlp

Tidak Dapat Diterapkan

59,342

18-Dec-2007

21:05

Tidak Dapat Diterapkan

Normnfc.nlp

Tidak Dapat Diterapkan

45,794

18-Dec-2007

21:05

Tidak Dapat Diterapkan

Normnfd.nlp

Tidak Dapat Diterapkan

39,284

18-Dec-2007

21:05

Tidak Dapat Diterapkan

Normnfkc.nlp

Tidak Dapat Diterapkan

66,384

18-Dec-2007

21:05

Tidak Dapat Diterapkan

Normnfkd.nlp

Tidak Dapat Diterapkan

60,294

18-Dec-2007

21:05

Tidak Dapat Diterapkan

Prc.nlp

Tidak Dapat Diterapkan

83,748

18-Dec-2007

21:05

Tidak Dapat Diterapkan

Prcp.nlp

Tidak Dapat Diterapkan

83,748

18-Dec-2007

21:05

Tidak Dapat Diterapkan

Sortkey.nlp

Tidak Dapat Diterapkan

262,148

18-Dec-2007

21:05

Tidak Dapat Diterapkan

Sorttbls.nlp

Tidak Dapat Diterapkan

20,320

18-Dec-2007

21:05

Tidak Dapat Diterapkan

Xjis.nlp

Tidak Dapat Diterapkan

28,288

18-Dec-2007

21:05

Tidak Dapat Diterapkan

Mscordacwks.dll

2.0.50727.3068

992,264

01-Oct-2008

22:27

x86

Mscorjit.dll

2.0.50727.3068

367,104

24-Sep-2008

22:21

x86

Mscorwks.dll

2.0.50727.3068

5,815,808

01-Oct-2008

22:27

x86

Windows Vista SP1 dan Windows Server 2008, x64 versi

Nama file

Versi file

Ukuran file

Tanggal

Waktu

Platform

Big5.nlp

Tidak Dapat Diterapkan

66,728

18-Dec-2007

21:01

Tidak Dapat Diterapkan

Bopomofo.nlp

Tidak Dapat Diterapkan

82,172

18-Dec-2007

21:01

Tidak Dapat Diterapkan

Ksc.nlp

Tidak Dapat Diterapkan

116,756

18-Dec-2007

21:02

Tidak Dapat Diterapkan

Mscorlib.dll

2.0.50727.3068

4,562,944

01-Oct-2008

22:25

x64

Normidna.nlp

Tidak Dapat Diterapkan

59,342

18-Dec-2007

21:03

Tidak Dapat Diterapkan

Normnfc.nlp

Tidak Dapat Diterapkan

45,794

18-Dec-2007

21:03

Tidak Dapat Diterapkan

Normnfd.nlp

Tidak Dapat Diterapkan

39,284

18-Dec-2007

21:03

Tidak Dapat Diterapkan

Normnfkc.nlp

Tidak Dapat Diterapkan

66,384

18-Dec-2007

21:03

Tidak Dapat Diterapkan

Normnfkd.nlp

Tidak Dapat Diterapkan

60,294

18-Dec-2007

21:03

Tidak Dapat Diterapkan

Prc.nlp

Tidak Dapat Diterapkan

83,748

18-Dec-2007

21:03

Tidak Dapat Diterapkan

Prcp.nlp

Tidak Dapat Diterapkan

83,748

18-Dec-2007

21:03

Tidak Dapat Diterapkan

Sortkey.nlp

Tidak Dapat Diterapkan

262,148

18-Dec-2007

21:03

Tidak Dapat Diterapkan

Sorttbls.nlp

Tidak Dapat Diterapkan

20,320

18-Dec-2007

21:03

Tidak Dapat Diterapkan

Xjis.nlp

Tidak Dapat Diterapkan

28,288

18-Dec-2007

21:03

Tidak Dapat Diterapkan

Mscordacwks.dll

2.0.50727.3068

1,767,944

01-Oct-2008

22:25

x64

Mscorjit.dll

2.0.50727.3068

1,580,032

24-Sep-2008

23:06

x64

Mscorwks.dll

2.0.50727.3068

10,079,744

01-Oct-2008

22:25

x64

Mscorlib.resources.dll

2.0.50727.3053

352,256

15-Sep-2008

22:26

x86

Mscorlib.resources.dll

2.0.50727.3053

303,104

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

299,008

15-Sep-2008

22:26

x86

Mscorlib.resources.dll

2.0.50727.3053

315,392

27-Jul-2008

18:02

x86

Mscorlib.resources.dll

2.0.50727.3053

425,984

15-Sep-2008

22:26

x86

Mscorlib.resources.dll

2.0.50727.3053

307,200

27-Jul-2008

18:02

x86

Mscorlib.resources.dll

2.0.50727.3053

299,008

15-Sep-2008

22:26

x86

Mscorlib.resources.dll

2.0.50727.3053

311,296

27-Jul-2008

18:02

x86

Mscorlib.resources.dll

2.0.50727.3053

331,776

15-Sep-2008

22:26

x86

Mscorlib.resources.dll

2.0.50727.3053

315,392

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

307,200

27-Jul-2008

17:56

x86

Mscorlib.resources.dll

2.0.50727.3053

348,160

27-Jul-2008

18:02

x86

Mscorlib.resources.dll

2.0.50727.3053

319,488

27-Jul-2008

17:56

x86

Mscorlib.resources.dll

2.0.50727.3053

290,816

15-Sep-2008

22:26

x86

Mscorlib.resources.dll

2.0.50727.3053

303,104

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

311,296

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

303,104

27-Jul-2008

17:56

x86

Mscorlib.resources.dll

2.0.50727.3053

307,200

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.1434

397,312

11-Jan-2008

22:59

x86

Mscorlib.resources.dll

2.0.50727.3053

299,008

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

299,008

15-Sep-2008

22:25

x86

Mscorlib.resources.dll

2.0.50727.3053

278,528

27-Jul-2008

17:56

x86

Mscorlib.resources.dll

2.0.50727.3053

278,528

27-Jul-2008

17:56

x86

Big5.nlp

Tidak Dapat Diterapkan

66,728

18-Dec-2007

21:03

Tidak Dapat Diterapkan

Bopomofo.nlp

Tidak Dapat Diterapkan

82,172

18-Dec-2007

21:03

Tidak Dapat Diterapkan

Ksc.nlp

Tidak Dapat Diterapkan

116,756

18-Dec-2007

21:04

Tidak Dapat Diterapkan

Mscorlib.dll

2.0.50727.3068

4,546,560

01-Oct-2008

22:27

x86

Normidna.nlp

Tidak Dapat Diterapkan

59,342

18-Dec-2007

21:05

Tidak Dapat Diterapkan

Normnfc.nlp

Tidak Dapat Diterapkan

45,794

18-Dec-2007

21:05

Tidak Dapat Diterapkan

Normnfd.nlp

Tidak Dapat Diterapkan

39,284

18-Dec-2007

21:05

Tidak Dapat Diterapkan

Normnfkc.nlp

Tidak Dapat Diterapkan

66,384

18-Dec-2007

21:05

Tidak Dapat Diterapkan

Normnfkd.nlp

Tidak Dapat Diterapkan

60,294

18-Dec-2007

21:05

Tidak Dapat Diterapkan

Prc.nlp

Tidak Dapat Diterapkan

83,748

18-Dec-2007

21:05

Tidak Dapat Diterapkan

Prcp.nlp

Tidak Dapat Diterapkan

83,748

18-Dec-2007

21:05

Tidak Dapat Diterapkan

Sortkey.nlp

Tidak Dapat Diterapkan

262,148

18-Dec-2007

21:05

Tidak Dapat Diterapkan

Sorttbls.nlp

Tidak Dapat Diterapkan

20,320

18-Dec-2007

21:05

Tidak Dapat Diterapkan

Xjis.nlp

Tidak Dapat Diterapkan

28,288

18-Dec-2007

21:05

Tidak Dapat Diterapkan

Mscordacwks.dll

2.0.50727.3068

992,264

01-Oct-2008

22:27

x86

Mscorjit.dll

2.0.50727.3068

367,104

24-Sep-2008

22:21

x86

Mscorwks.dll

2.0.50727.3068

5,815,808

01-Oct-2008

22:27

x86

Windows Vista SP1 dan Windows Server 2008, versi IA-64

Nama file

Versi file

Ukuran file

Tanggal

Waktu

Platform

Big5.nlp

Tidak Dapat Diterapkan

66,728

18-Dec-2007

21:06

Tidak Dapat Diterapkan

Bopomofo.nlp

Tidak Dapat Diterapkan

82,172

18-Dec-2007

21:06

Tidak Dapat Diterapkan

Ksc.nlp

Tidak Dapat Diterapkan

116,756

18-Dec-2007

21:06

Tidak Dapat Diterapkan

Mscorlib.dll

2.0.50727.3068

4,005,888

01-Oct-2008

22:26

IA-64

Normidna.nlp

Tidak Dapat Diterapkan

59,342

18-Dec-2007

21:08

Tidak Dapat Diterapkan

Normnfc.nlp

Tidak Dapat Diterapkan

45,794

18-Dec-2007

21:08

Tidak Dapat Diterapkan

Normnfd.nlp

Tidak Dapat Diterapkan

39,284

18-Dec-2007

21:08

Tidak Dapat Diterapkan

Normnfkc.nlp

Tidak Dapat Diterapkan

66,384

18-Dec-2007

21:08

Tidak Dapat Diterapkan

Normnfkd.nlp

Tidak Dapat Diterapkan

60,294

18-Dec-2007

21:08

Tidak Dapat Diterapkan

Prc.nlp

Tidak Dapat Diterapkan

83,748

18-Dec-2007

21:08

Tidak Dapat Diterapkan

Prcp.nlp

Tidak Dapat Diterapkan

83,748

18-Dec-2007

21:08

Tidak Dapat Diterapkan

Sortkey.nlp

Tidak Dapat Diterapkan

262,148

18-Dec-2007

21:08

Tidak Dapat Diterapkan

Sorttbls.nlp

Tidak Dapat Diterapkan

20,320

18-Dec-2007

21:08

Tidak Dapat Diterapkan

Xjis.nlp

Tidak Dapat Diterapkan

28,288

18-Dec-2007

21:08

Tidak Dapat Diterapkan

Mscordacwks.dll

2.0.50727.3068

3,087,880

01-Oct-2008

22:26

IA-64

Mscorjit.dll

2.0.50727.3068

2,560,512

24-Sep-2008

23:14

IA-64

Mscorwks.dll

2.0.50727.3068

20,153,856

01-Oct-2008

22:26

IA-64

Mscorlib.resources.dll

2.0.50727.3053

315,392

27-Jul-2008

17:58

x86

Mscorlib.resources.dll

2.0.50727.3053

311,296

27-Jul-2008

17:58

x86

Mscorlib.resources.dll

2.0.50727.3053

348,160

27-Jul-2008

17:58

x86

Mscorlib.resources.dll

2.0.50727.3053

319,488

27-Jul-2008

17:58

x86

Mscorlib.resources.dll

2.0.50727.3053

278,528

27-Jul-2008

17:58

x86

Mscorlib.resources.dll

2.0.50727.3053

278,528

27-Jul-2008

17:59

x86

Big5.nlp

Tidak Dapat Diterapkan

66,728

18-Dec-2007

21:03

Tidak Dapat Diterapkan

Bopomofo.nlp

Tidak Dapat Diterapkan

82,172

18-Dec-2007

21:03

Tidak Dapat Diterapkan

Ksc.nlp

Tidak Dapat Diterapkan

116,756

18-Dec-2007

21:04

Tidak Dapat Diterapkan

Mscorlib.dll

2.0.50727.3068

4,546,560

01-Oct-2008

22:27

x86

Normidna.nlp

Tidak Dapat Diterapkan

59,342

18-Dec-2007

21:05

Tidak Dapat Diterapkan

Normnfc.nlp

Tidak Dapat Diterapkan

45,794

18-Dec-2007

21:05

Tidak Dapat Diterapkan

Normnfd.nlp

Tidak Dapat Diterapkan

39,284

18-Dec-2007

21:05

Tidak Dapat Diterapkan

Normnfkc.nlp

Tidak Dapat Diterapkan

66,384

18-Dec-2007

21:05

Tidak Dapat Diterapkan

Normnfkd.nlp

Tidak Dapat Diterapkan

60,294

18-Dec-2007

21:05

Tidak Dapat Diterapkan

Prc.nlp

Tidak Dapat Diterapkan

83,748

18-Dec-2007

21:05

Tidak Dapat Diterapkan

Prcp.nlp

Tidak Dapat Diterapkan

83,748

18-Dec-2007

21:05

Tidak Dapat Diterapkan

Sortkey.nlp

Tidak Dapat Diterapkan

262,148

18-Dec-2007

21:05

Tidak Dapat Diterapkan

Sorttbls.nlp

Tidak Dapat Diterapkan

20,320

18-Dec-2007

21:05

Tidak Dapat Diterapkan

Xjis.nlp

Tidak Dapat Diterapkan

28,288

18-Dec-2007

21:05

Tidak Dapat Diterapkan

Mscordacwks.dll

2.0.50727.3068

992,264

01-Oct-2008

22:27

x86

Mscorjit.dll

2.0.50727.3068

367,104

24-Sep-2008

22:21

x86

Mscorwks.dll

2.0.50727.3068

5,815,808

01-Oct-2008

22:27

x86

Pemecahan masalah

Untuk mengatasi masalah ini, gunakan salah satu metode berikut.

Metode 1

Jika kode aplikasi menyerupai kode contoh di bagian "Informasi selengkapnya", temukan baris kode berikut.

#define GETVECTOR3D(vec3d) (*reinterpret_cast<AcGeVector3d*>(&((vec3d).m_x))

Mengubah baris kode ini sebagai berikut.

#define GETVECTOR3D(vec3d) (*reinterpret_cast<AcGeVector3d*>(&((vec3d)))

Metode 2

Menyebarkan berkas .ini. Untuk melakukannya, buat berkas yang berisi kode berikut.

[.NET Framework Debugging Control]AllowOptimize=0

Nama berkas .ini sama modul yang bermasalah, tetapi menggunakan ekstensi .ini dan bukan ekstensi .dll. Misalnya, kode contoh di bagian "Informasi selengkapnya", beri nama berkas .ini Bug.ini file. Letakkan berkas Bug.ini dalam direktori yang sama seperti berkas Bug.dll.

Catatan Kelemahan metode ini adalah kemungkinan efek kinerja optimalisasi tidak ada. Jika Anda menggunakan Generator gambar asli (Ngen.exe) untuk precompile modul, metode ini tidak berlaku.

Metode 3

Secara selektif menerapkan opsi NoOptimization enumerasi MethodImplOptions metode yang bermasalah dengan menggunakan kelas MethodImplAttribute .

Catatan Metode ini akan menonaktifkan optimalisasi untuk JIT compiler dan Generator gambar asli (Ngen.exe) pada tingkat per metode. Berapa banyak kinerja dipengaruhi berbeda-beda, tergantung pada metode.

Status

Microsoft telah memastikan bahwa ini merupakan masalah di dalam produk Microsoft sebagaimana tercantum di bagian "Berlaku untuk".

Informasi lebih lanjut

Langkah-langkah untuk mereproduksi masalah

  1. Membuat aplikasi C++ yang didasarkan pada .NET Framework 3.5 SP1.

  2. Tambahkan .cpp file proyek, nama file ini Bug.cpp file, dan kemudian tempel kode berikut dalam berkas Bug.cpp.

    #using <mscorlib.dll>#include <stdlib.h>
    class AcGeVector3d
    {
    double x, y, z;
    public:
    __forceinline AcGeVector3d(const AcGeVector3d& src): x(src.x),y(src.y),z(src.z)
    {
    }
    __forceinline AcGeVector3d(double xx, double yy, double zz) : x(xx),y(yy),z(zz)
    {
    }
    __forceinline AcGeVector3d operator / (double val) const
    {
    return AcGeVector3d (x/val, y/val, z/val);
    }
    };
    #define GETVECTOR3D(vec3d) (*reinterpret_cast<AcGeVector3d*>(&((vec3d).m_x)))
    namespace Geometry
    {
    [System::Runtime::InteropServices::StructLayout(System::Runtime::InteropServices::LayoutKind::Sequential)]
    public value class Vector3d
    {
    internal:
    double m_x, m_y, m_z;
    Vector3d(const AcGeVector3d* obj)
    {
    GETVECTOR3D(*this) = *obj;
    }
    public:
    Vector3d(double x, double y, double z):m_x(x),m_y(y), m_z(z) {}
    Vector3d DivideBy(double value)
    {
    return Vector3d(&GETVECTOR3D(*this).operator /(value));
    }
    virtual System::String^ ToString() override
    {
    return System::String::Format("{0}, {1}, {2}", m_x, m_y, m_z);
    }
    };
    }

  3. Menyusun berkas Bug.cpp, jalankan perintah berikut ini:

    Cl /clr /GL /O2 bug.cpp /link /dll /out:bug.dll

  4. Membuat Microsoft Visual C# proyek baru untuk digunakan sebagai proyek klien.

  5. Beri nama berkas kode Test.cs file, dan kemudian tempel kode berikut dalam berkas Test.cs.

    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);
    }
    }
    }

  6. Menyusun berkas Test.cs, jalankan perintah berikut ini:

    CSC /r:bug.dll test.cs

  7. Untuk embed manifes ke berkas Test.exe, jalankan perintah berikut ini:

    MT.exe - nologo-manifest bug.dll.manifest-outputresource:test.exe;1

  8. Jalankan berkas Test.exe.

Perhatikan bahwa hasil yang sebenarnya adalah sebagai berikut:

1.33333333333333 1.333333333333, 0Namun, hasil yang diharapkan adalah sebagai berikut:

1.33333333333333, 0, 0

Referensi

Untuk informasi selengkapnya tentang peristilahan pemutakhiran perangkat lunak, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:

824684 Deskripsi tentang terminologi standar yang digunakan untuk menjelaskan pembaruan perangkat lunak Microsoft

Perlu bantuan lainnya?

Kembangkan keterampilan Anda
Jelajahi pelatihan
Dapatkan fitur baru terlebih dahulu
Gabung Microsoft Insider

Apakah informasi ini bermanfaat?

Terima kasih atas umpan balik Anda!

Terima kasih atas umpan balik Anda! Sepertinya menghubungkan Anda ke salah satu agen dukungan Office kami akan sangat membantu.

×