Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Pengkompilasi menghasilkan kesalahan berikut untuk penggunaan direktif praprosesor yang salah:
- CS1024: Pengarahan pra-pemroses diharapkan
- CS1025: Komentar baris tunggal atau akhir baris yang diharapkan
- CS1027: direktif #endif diperlukan
- CS1028: Direktif praprosesor tak terduga
- CS1029: #error: 'text'
- CS1030: #warning: 'text'
- CS1032: Tidak dapat menentukan/membatalkan definisi simbol prapemrosedur setelah token pertama dalam file
- CS1038: diharapkan adanya direktif #endregion
- CS1040: Arahan pra-prosesor harus muncul sebagai karakter non-spasi-putih pertama pada baris
- CS1517: Ekspresi pra-prosesor tidak valid
- CS1560: Nama file tidak valid yang ditentukan untuk arahan preprocessor. Nama file terlalu panjang atau bukan nama file yang valid
- CS1576: Nomor baris yang ditentukan untuk direktif #line hilang atau tidak valid
- CS1578: Nama file, komentar baris tunggal, atau akhir baris yang diharapkan
- CS1633: Direktif #pragma tidak dikenal
- CS1634: Penonaktifan atau pemulihan yang diharapkan
- CS1635: Tidak dapat memulihkan peringatan 'kode peringatan' karena dinonaktifkan secara global
- CS1691: 'number' bukan kode peringatan yang valid
- CS1692: Nomor tidak valid
- CS1694: Nama file tidak valid yang ditentukan untuk arahan preprocessor. Nama file terlalu panjang atau bukan nama file yang valid
- CS1695: Sintaks checksum #pragma tidak valid; harus #pragma checksum "filename" "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXX}" "XXXX..."
- CS1696: Komentar baris tunggal atau akhir baris yang diharapkan
- CS1709: Nama file yang ditentukan untuk arahan preprocessor kosong
- CS7009: Tidak dapat menggunakan #r setelah token pertama dalam file
- CS7010: Nama file yang dikutip diharapkan
- CS7011: #r hanya diizinkan dalam skrip
- CS8097: #load hanya diizinkan dalam skrip
- CS8098: Tidak dapat menggunakan #load setelah token pertama dalam file
- CS8938: Nilai direktif #line tidak ada atau di luar rentang
- CS8939: Posisi akhir arahan #line harus lebih besar dari atau sama dengan posisi awal
- CS8996: Literal string mentah tidak diizinkan dalam direktif prapemrosan
- CS9028: Direktif #line span memerlukan spasi sebelum tanda kurung pertama, sebelum offset karakter, dan sebelum nama file
-
CS9297:
#:direktif tidak boleh berada setelah token pertama dalam file -
CS9298:
#:arahan hanya dapat digunakan dalam program berbasis file (-features:FileBasedProgram) -
CS9299: arahan
#:tidak boleh setelah arahan#if -
CS9314:
#!arahan hanya dapat digunakan dalam skrip atau program berbasis file
Sintaks direktif praprosesor tidak valid
- CS1024: Direktif pra-prosesor diharapkan
- CS1025: Komentar baris tunggal atau akhir baris yang diharapkan
- CS1027: direktif #endif sedang diharapkan
- CS1028: Direktif praprosesor tak terduga
- CS1038: direktif #endregion diharapkan
- CS1040: Arahan pra-prosesor harus muncul sebagai karakter non-spasi-putih pertama pada baris
- CS1517: Ekspresi pra-prosesor tidak valid
- CS1633: Direktif #pragma tidak teridentifikasi
- CS1696: Komentar baris tunggal atau akhir baris yang diharapkan
- CS8996: Literal string mentah tidak diizinkan dalam direktif prapemrosan
Kesalahan ini menunjukkan bahwa Anda menggunakan sintaksis yang tidak valid untuk direktif praproscessor. Penyebab umumnya meliputi:
- Menggunakan arahan yang tidak dikenal setelah
#(CS1024, CS1633). - Termasuk komentar multibaris pada garis direktif (CS1025, CS1696).
- Menggunakan arahan di lokasi yang tidak terduga (CS1028).
- Tidak ada arahan pencocokan yang diperlukan (CS1027, CS1038).
- Tidak menentukan atau membatalkan pendefinisian simbol sebagai token pertama dalam file (CS1032)
- Tidak menempatkan direktif sebagai token pertama pada baris (CS1040).
- Menggunakan ekspresi yang tidak valid dalam kompilasi kondisional (CS1517).
- Menggunakan literal string mentah pada direktif pra-pemroses (CS8996).
Contoh CS1024 - Direktif praprosesor diharapkan:
#import System // CS1024 - "import" is not a valid directive
Contoh CS1025 - Komentar baris tunggal atau akhir baris yang diharapkan:
#if true /* hello
*/ // CS1025 - multiline comment not allowed
#endif
Contoh CS1027 - direktif #endif diharapkan:
#if true // CS1027 - missing #endif
class Test { }
Contoh CS1028 - Direktif praprosesor tidak terduga:
#endif // CS1028 - no matching #if
Contoh CS1032 - #define dan #undef direktif pra-prosesor harus muncul sebelum token lain:
/* Comment */
#define X // CS1032 - directive not first token in file
Contoh CS1038 - diharapkan adanya direktif #endregion:
#region testing
class Test { }
// CS1038 - missing #endregion
Contoh CS1040 - Direktif pra-prosesor harus muncul sebagai karakter non-spasi putih pertama:
/* Comment */ #define X // CS1040 - directive not first on line
Contoh CS1517 - Ekspresi praprosesor tidak valid:
#if 1 // CS1517 - numeric literals not allowed
#endif
#if ~symbol // CS1517 - bitwise operators not allowed
#endif
Contoh CS1633 - Direktif #pragma tidak dikenali:
#pragma unknown // CS1633 - "unknown" is not a valid pragma
Contoh CS8996 - Literal string mentah tidak diizinkan dalam direktif prapemrosan:
// CS8996.cs
#pragma checksum """raw_string""" "{406EA660-64CF-4C82-B6F0-42D48172A799}" "hash" // CS8996
class Test { }
Untuk memperbaiki kesalahan ini, gunakan string reguler literal:
#pragma checksum "filename.cs" "{406EA660-64CF-4C82-B6F0-42D48172A799}" "hash" // OK
class Test { }
Untuk memperbaiki kesalahan ini, pastikan direktif pra-prosesor Anda mengikuti aturan sintaks yang benar yang dijelaskan dalam dokumentasi direktif praproscessor.
Kesalahan pada arahan #error dan #warning
- CS1029: #error: 'text'
- CS1030: #warning: 'text'
- CS1634: Penonaktifan atau pemulihan yang diharapkan
- CS1635: Tidak dapat memulihkan peringatan 'kode peringatan' karena dinonaktifkan secara global
- CS1691: 'number' bukan nomor peringatan yang valid
- CS1692: Nomor tidak valid
Kesalahan ini terjadi ketika kompilator memproses #error, , #warningdan #pragma warning direktif. Arahan ini memungkinkan Anda menghasilkan pesan kesalahan dan peringatan kustom selama kompilasi dan perilaku peringatan kontrol.
CS1029 menampilkan teks kesalahan yang ditentukan dengan direktif #error :
// CS1029.cs
class Sample
{
static void Main()
{
#error Let's give an error here // CS1029
}
}
Kompilasi menghasilkan output berikut:
example.cs(9,8): error CS1029: #error: 'Let's give an error here // CS1029 '
CS1030 menampilkan teks peringatan yang ditentukan dengan arahan #warning :
// CS1030.cs
class Sample
{
static void Main()
{
#warning Let's give a warning here
}
}
Kompilasi menghasilkan output berikut:
example.cs(6,16): warning CS1030: #warning: 'Let's give a warning here'
CS1634 terjadi ketika #pragma warning klausul terbentuk dengan buruk, seperti ketika nonaktifkan atau pemulihan dihilangkan:
// CS1634.cs
// compile with: /W:1
#pragma warning // CS1634
// Try this instead:
// #pragma warning disable 0219
class MyClass
{
public static void Main()
{
}
}
CS1635 terjadi ketika Anda menggunakan opsi baris perintah atau pengaturan proyek untuk menonaktifkan peringatan secara global, tetapi gunakan /nowarn untuk mencoba memulihkan peringatan tersebut#pragma warning restore:
// CS1635.cs
// compile with: /w:1 /nowarn:162
enum MyEnum {one=1,two=2,three=3};
class MyClass
{
public static void Main()
{
#pragma warning disable 162
if (MyEnum.three == MyEnum.two)
System.Console.WriteLine("Duplicate");
#pragma warning restore 162 // CS1635
}
}
CS1691 terjadi ketika angka yang diteruskan ke #pragma warning direktif bukan nomor peringatan yang valid:
// CS1691.cs
public class C
{
int i = 1;
public static void Main()
{
C myC = new C();
#pragma warning disable 151 // CS1691
// Try the following line instead:
// #pragma warning disable 1645
myC.i++;
#pragma warning restore 151 // CS1691
// Try the following line instead:
// #pragma warning restore 1645
}
}
CS1692 terjadi ketika angka dalam arahan prapemroscessor seperti #pragma dan #line tidak valid karena terlalu besar, dalam format yang salah, atau berisi karakter ilegal:
// CS1692.cs
#pragma warning disable a // CS1692
// Try this instead:
// #pragma warning disable 1691
class A
{
static void Main()
{
}
}
Arahan ini berguna untuk skenario kompilasi kondisional di mana Anda ingin memberi tahu pengembang tentang kondisi tertentu dalam kode, atau mengontrol peringatan mana yang ditampilkan selama kompilasi. Untuk informasi selengkapnya tentang menggunakan arahan ini, lihat dokumentasi arahan prapemrosan dan peringatan #pragma.
#line dan kesalahan direktif file
- CS1560: Nama file tidak valid yang ditentukan untuk arahan preprocessor. Nama file terlalu panjang atau bukan nama file yang valid
- CS1576: Nomor baris yang ditentukan untuk direktif #line hilang atau tidak valid
- CS1578: Nama file, komentar baris tunggal, atau akhir baris yang diharapkan
- CS1694: Nama file tidak valid yang ditentukan untuk arahan preprocessor. Nama file terlalu panjang atau bukan nama file yang valid
- CS1695: Sintaks checksum #pragma tidak valid; harus #pragma checksum "filename" "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXXX}" "XXXX..."
- CS1709: Nama file yang ditentukan untuk arahan preprocessor kosong
- CS8938: Nilai direktif #line tidak ditemukan atau berada di luar rentang
- CS8939: Posisi akhir arahan #line harus lebih besar dari atau sama dengan posisi awal
- CS9028: Direktif rentang #line memerlukan spasi sebelum tanda kurung pertama, sebelum offset karakter, dan sebelum nama file
Kesalahan ini menunjukkan penggunaan #line direktif yang salah atau arahan prapemrosan terkait file. Penyebab umumnya meliputi:
- Nama file tidak valid atau hilang (CS1560, CS1694, CS1709).
- Format atau nilai nomor baris yang salah (CS1576, CS8938, CS8939).
- Tidak ada sintaks yang tepat untuk nama file dan komentar (CS1578).
- Sintaksis cacat
#pragma checksum(CS1695). - Spasi yang tidak tepat dalam direktif rentang
#line(CS9028).
Contoh CS1560/CS1694 - Nama file yang ditentukan tidak valid:
#line 100 "MyFile1234567890MyFile1234567890MyFile1234567890MyFile1234567890MyFile1234567890MyFile1234567890MyFile1234567890MyFile1234567890MyFile1234567890MyFile1234567890MyFile1234567890MyFile1234567890MyFile1234567890MyFile1234567890MyFile1234567890MyFile1234567890.txt" // CS1560/CS1694 - filename too long
Contoh CS1576 - Nomor baris hilang atau tidak valid:
#line "abc.sc" // CS1576 - missing line number
#line abc "file.cs" // CS1576 - invalid line number format
Contoh CS1578 - Nama file, komentar, atau akhir baris yang diharapkan:
#line 101 abc.cs // CS1578 - filename not quoted
Contoh CS1695 - Sintaks checksum #pragma tidak valid:
#pragma checksum "12345" // CS1695 - missing GUID and checksum
Contoh CS1709 - Nama file kosong:
#pragma checksum "" "{406EA660-64CF-4C82-B6F0-42D48172A799}" "" // CS1709 - empty filename
Contoh CS8938 - nilai direktif #line hilang atau di luar rentang:
#line // CS8938 - missing value
#line 0 // CS8938 - out of range (must be 1-16,707,566)
Contoh CS8939 - kesalahan posisi akhir baris #line:
#line (1, 10) - (1, 5) "file.cs" // CS8939 - end column < start column
Contoh CS9028 - #line jangkauan pengaturan jarak direktif:
#line(1, 1) - (1, 10)"file.cs" // CS9028 - missing spaces
Untuk memperbaiki kesalahan ini, pastikan #line arahan anda dan direktif prapemrosan terkait file mengikuti sintaks yang benar seperti yang dijelaskan dalam dokumentasi direktif pra-prosesor.
Penggunaan direktif aplikasi berbasis file yang salah
-
CS9297:
#:arahan tidak boleh muncul setelah token pertama di dalam berkas -
CS9298:
#:arahan hanya dapat digunakan dalam program berbasis file (-features:FileBasedProgram) -
CS9299:
#:arahan tidak boleh setelah#ifdirektif -
CS9314:
#!arahan hanya dapat digunakan dalam skrip atau program berbasis file
Kesalahan ini menunjukkan bahwa Anda salah menggunakan #: direktif untuk aplikasi berbasis file. Anda dapat mempelajari selengkapnya tentang sintaks untuk arahan ini dalam artikel tentang direktif prapemrosan di bagian tentang aplikasi berbasis file. Atau, Anda dapat menjelajahi aplikasi berbasis file dengan mengikuti tutorial tentang aplikasi berbasis file.
File berisi arahan script.cs
Kesalahan berikut menunjukkan sintaks script.cs dalam file C# yang dikompilasi:
- CS7009: Tidak dapat menggunakan #r setelah token pertama dalam file
- CS7010: Nama file dalam tanda kutip diharapkan
- CS7011: #r hanya diizinkan dalam skrip
- CS8097: #load hanya diizinkan dalam skrip
Arahan ini tidak didukung dalam C#yang dikompilasi. Anda harus menghapusnya, atau menggunakan script.cs.