Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Derleyici, ön işlemci yönergelerinin yanlış kullanımı için aşağıdaki hataları oluşturur:
- CS1024: Önişlemci yönergesi bekleniyor
- CS1025: Tek satırlı açıklama veya satır sonu bekleniyor
- CS1027: #endif yönergesi bekleniyor
- CS1028: Beklenmeyen ön işlemci yönergesi
- CS1029: #error: 'text'
- CS1030: #warning: 'text'
- CS1032: Dosyadaki ilk belirteçten sonra ön işlemci sembolleri tanımlanamaz/tanımları kaldırılamaz
- CS1038: #endregion yönergesi bekleniyor
- CS1040: Önişlemci yönergeleri bir satırdaki ilk boşluk olmayan karakter olarak görünmelidir
- CS1517: Geçersiz ön işlemci ifadesi
- CS1560: Ön işlemci yönergesi için geçersiz dosya adı belirtildi. Dosya adı çok uzun veya geçerli bir dosya adı değil
- CS1576: #line yönergesi için belirtilen satır numarası eksik veya geçersiz
- CS1578: Dosya adı, tek satırlı açıklama veya satır sonu bekleniyor
- CS1633: Tanınmayan #pragma yönergesi
- CS1634: Beklenen devre dışı bırakma veya geri yükleme
- CS1635: Uyarı 'uyarı kodu' genel olarak devre dışı bırakıldığından geri yüklenemiyor
- CS1691: 'sayı' geçerli bir uyarı numarası değil
- CS1692: Geçersiz sayı
- CS1694: Ön işlemci yönergesi için geçersiz dosya adı belirtildi. Dosya adı çok uzun veya geçerli bir dosya adı değil
- CS1695: Geçersiz #pragma sağlama toplamı söz dizimi; #pragma sağlama toplamı "dosyaadı" "{XXXXXXXXX-XXXX-XXXX-XXXXXXXXXXX}" "XXXX..." olmalıdır
- CS1696: Tek satırlı açıklama veya satır sonu bekleniyor
- CS1709: Ön işlemci yönergesi için belirtilen dosya adı boş
- CS7009: Dosyadaki ilk belirteç sonrasında #r kullanılamaz
- CS7010: Alıntılanan dosya adı bekleniyor
- CS7011: #r yalnızca betiklerde izin verilir
- CS8097: #load yalnızca betiklerde izin verilir
- CS8098: Dosyadaki ilk belirteç sonrasında #load kullanılamaz
- CS8938: #line yönerge değeri eksik veya aralık dışında
- CS8939: #line yönergesi bitiş konumu başlangıç konumundan büyük veya buna eşit olmalıdır
- CS8996: Ön işlemci yönergelerinde ham string literallere izin verilmez
- CS9028: #line span yönergesi, ilk parantezden önce, karakter uzaklığından önce ve dosya adından önce alan gerektirir
-
CS9297:
#:yönerge dosyadaki ilk belirteç sonrası konumlandırılamaz -
CS9298:
#:yönergeleri yalnızca dosya tabanlı programlarda kullanılabilir (-features:FileBasedProgram) -
CS9299:
#ifyönergesinden sonra#:yönergeleri olamaz -
CS9314:
#!yönergeleri yalnızca betiklerde veya dosya tabanlı programlarda kullanılabilir
Geçersiz önişlemci yönerge söz dizimi
- CS1024: Önişlemci yönergesi bekleniyor
- CS1025: Tek satırlı açıklama veya satır sonu bekleniyor
- CS1027: #endif yönergesi bekleniyor
- CS1028: Beklenmeyen ön işlemci yönergesi
- CS1038: #endregion yönergesi bekleniyor
- CS1040: Önişlemci yönergeleri bir satırdaki ilk boşluk olmayan karakter olarak görünmelidir
- CS1517: Geçersiz ön işlemci ifadesi
- CS1633: Tanınmayan #pragma yönergesi
- CS1696: Tek satırlı açıklama veya satır sonu bekleniyor
- CS8996: Ön işlemci yönergelerinde ham string literallere izin verilmez
Bu hatalar ön işlemci yönergeleri için geçersiz söz dizimi kullandığınızı gösterir. Yaygın nedenler şunlardır:
- Sonrasında tanınmayan bir yönerge
#kullanma (CS1024, CS1633). - Yönerge satırlarına çok satırlı açıklamalar ekleme (CS1025, CS1696).
- Beklenmeyen konumlarda yönergeleri kullanma (CS1028).
- Gerekli eşleştirme yönergeleri eksik (CS1027, CS1038).
- Sembollerin dosyadaki ilk öğe olarak tanımlanmaması veya terk edilmemesi (CS1032)
- Direktifin bir satırın ilk belirteci olarak yerleştirilmemesi (CS1040).
- Koşullu derlemede geçersiz ifadeler kullanma (CS1517).
- Ön işlemci yönergelerinde ham dize değişmez değerlerini kullanma (CS8996).
CS1024 örneği - Önişlemci yönergesi bekleniyor:
#import System // CS1024 - "import" is not a valid directive
CS1025 örneği - Tek satırlı açıklama veya satır sonu bekleniyor:
#if true /* hello
*/ // CS1025 - multiline comment not allowed
#endif
CS1027 örneği - #endif yönergesi bekleniyor:
#if true // CS1027 - missing #endif
class Test { }
CS1028 örneği - Beklenmeyen ön işlemci yönergesi:
#endif // CS1028 - no matching #if
CS1032 örneği - #define ve #undef önişlemci yönergeleri diğer belirteçlerden önce görünmelidir:
/* Comment */
#define X // CS1032 - directive not first token in file
CS1038 örneği - #endregion yönergesi bekleniyor:
#region testing
class Test { }
// CS1038 - missing #endregion
CS1040 örneği - Önişlemci yönergeleri ilk boşluk olmayan karakter olarak görünmelidir:
/* Comment */ #define X // CS1040 - directive not first on line
CS1517 örneği - Geçersiz ön işlemci ifadesi:
#if 1 // CS1517 - numeric literals not allowed
#endif
#if ~symbol // CS1517 - bitwise operators not allowed
#endif
CS1633 örneği - Tanınmayan #pragma yönergesi:
#pragma unknown // CS1633 - "unknown" is not a valid pragma
CS8996 örneği - Ön işlemci yönergelerinde ham metin sabitlerine izin verilmez:
// CS8996.cs
#pragma checksum """raw_string""" "{406EA660-64CF-4C82-B6F0-42D48172A799}" "hash" // CS8996
class Test { }
Bu hatayı düzeltmek için normal bir dize sabiti kullanın.
#pragma checksum "filename.cs" "{406EA660-64CF-4C82-B6F0-42D48172A799}" "hash" // OK
class Test { }
Bu hataları düzeltmek için ön işlemci yönergelerinizin ön işlemci yönergeleri belgelerinde açıklanan doğru söz dizimi kurallarına uydığından emin olun.
#error ve #warning yönerge hataları
- CS1029: #error: 'text'
- CS1030: #warning: 'text'
- CS1634: Beklenen devre dışı bırakma veya geri yükleme
- CS1635: Uyarı 'uyarı kodu' genel olarak devre dışı bırakıldığından geri yüklenemiyor
- CS1691: 'sayı' geçerli bir uyarı numarası değil
- CS1692: Geçersiz sayı
Bu hatalar, derleyici , #errorve #warning yönergelerini işlediğinde #pragma warningoluşur. Bu yönergeler, derleme ve denetim uyarı davranışı sırasında özel hata ve uyarı iletileri oluşturmanıza olanak sağlar.
CS1029 , yönergesiyle #error tanımlanan hata metnini görüntüler:
// CS1029.cs
class Sample
{
static void Main()
{
#error Let's give an error here // CS1029
}
}
Derleme aşağıdaki çıkışı oluşturur:
example.cs(9,8): error CS1029: #error: 'Let's give an error here // CS1029 '
CS1030 , yönergesi ile #warning tanımlanan uyarı metnini görüntüler:
// CS1030.cs
class Sample
{
static void Main()
{
#warning Let's give a warning here
}
}
Derleme aşağıdaki çıkışı oluşturur:
example.cs(6,16): warning CS1030: #warning: 'Let's give a warning here'
CS1634, eğer devre dışı bırakma veya geri yükleme atlanmış gibi bir #pragma warning ifade kötü biçimlendirilmişse oluşur.
// CS1634.cs
// compile with: /W:1
#pragma warning // CS1634
// Try this instead:
// #pragma warning disable 0219
class MyClass
{
public static void Main()
{
}
}
CS1635 , bir uyarıyı /nowarn genel olarak devre dışı bırakmak için komut satırı seçeneğini veya proje ayarını kullandığınızda, ancak #pragma warning restore bu uyarıyı geri yüklemeyi denediğinizde oluşur:
// 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, #pragma warning yönergesine geçirilen sayının geçerli bir uyarı numarası olmaması durumunda oluşur.
// 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 , gibi #pragma#line önişlemci yönergelerindeki bir sayı çok büyük, yanlış biçimde veya geçersiz karakterler içerdiğinden geçersiz olduğunda oluşur:
// CS1692.cs
#pragma warning disable a // CS1692
// Try this instead:
// #pragma warning disable 1691
class A
{
static void Main()
{
}
}
Bu yönergeler, geliştiricileri koddaki belirli koşullar hakkında uyarmak veya derleme sırasında hangi uyarıların görüntüleneceğini denetlemek istediğiniz koşullu derleme senaryoları için kullanışlıdır. Bu yönergeleri kullanma hakkında daha fazla bilgi için ön işlemci yönergeleri belgelerine ve #pragma uyarısına bakın.
#line ve dosya yönergesi hataları
- CS1560: Ön işlemci yönergesi için geçersiz dosya adı belirtildi. Dosya adı çok uzun veya geçerli bir dosya adı değil
- CS1576: #line yönergesi için belirtilen satır numarası eksik veya geçersiz
- CS1578: Dosya adı, tek satırlı açıklama veya satır sonu bekleniyor
- CS1694: Ön işlemci yönergesi için geçersiz dosya adı belirtildi. Dosya adı çok uzun veya geçerli bir dosya adı değil
- CS1695: Geçersiz #pragma sağlama toplamı söz dizimi; #pragma sağlama toplamı "dosya adı" "{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX}" "XXXX..." olmalıdır
- CS1709: Ön işlemci yönergesi için belirtilen dosya adı boş
- CS8938: #line yönerge değeri eksik veya aralık dışında
- CS8939: #line yönergesi bitiş konumu başlangıç konumundan büyük veya buna eşit olmalıdır
- CS9028: #line span yönergesi, ilk parantezden önce, karakter uzaklığından önce ve dosya adından önce alan gerektirir
Bu hatalar, yönergenin veya dosyayla ilgili önişlemci yönergelerinin #line yanlış kullanımını gösterir. Yaygın nedenler şunlardır:
- Geçersiz veya eksik dosya adları (CS1560, CS1694, CS1709).
- Yanlış satır numarası biçimi veya değerleri (CS1576, CS8938, CS8939).
- Dosya adları ve açıklamalar için doğru söz dizimi eksik (CS1578).
- Yanlış biçimlendirilmiş
#pragma checksumsöz dizimi (CS1695). - Span yönergelerinde
#lineyanlış aralık (CS9028).
CS1560/CS1694 örneği - Geçersiz dosya adı belirtildi:
#line 100 "MyFile1234567890MyFile1234567890MyFile1234567890MyFile1234567890MyFile1234567890MyFile1234567890MyFile1234567890MyFile1234567890MyFile1234567890MyFile1234567890MyFile1234567890MyFile1234567890MyFile1234567890MyFile1234567890MyFile1234567890MyFile1234567890.txt" // CS1560/CS1694 - filename too long
CS1576 örneği - Satır numarası eksik veya geçersiz:
#line "abc.sc" // CS1576 - missing line number
#line abc "file.cs" // CS1576 - invalid line number format
CS1578 örneği - Dosya adı, açıklama veya satır sonu bekleniyor:
#line 101 abc.cs // CS1578 - filename not quoted
CS1695 örneği - Geçersiz #pragma kontrol toplamı söz dizimi:
#pragma checksum "12345" // CS1695 - missing GUID and checksum
CS1709 örneği - Boş dosya adı:
#pragma checksum "" "{406EA660-64CF-4C82-B6F0-42D48172A799}" "" // CS1709 - empty filename
CS8938 örneği - #line yönergesi değeri eksik veya aralık dışında:
#line // CS8938 - missing value
#line 0 // CS8938 - out of range (must be 1-16,707,566)
CS8939 örneği - #line bitiş konumu hatası:
#line (1, 10) - (1, 5) "file.cs" // CS8939 - end column < start column
CS9028 örneği - #line span yönerge aralığı:
#line(1, 1) - (1, 10)"file.cs" // CS9028 - missing spaces
Bu hataları düzeltmek için, yönergelerinizin ve dosyayla ilgili önişlemci yönergelerinizin #lineönişlemci yönergeleri belgelerinde açıklandığı gibi doğru söz dizimini izlediğinden emin olun.
Dosya tabanlı uygulama yönergelerinin yanlış kullanımı
-
CS9297:
#:yönergeleri dosyadaki ilk belirteçten sonra yer alamaz -
CS9298:
#:yönergeleri yalnızca dosya tabanlı programlarda kullanılabilir (-features:FileBasedProgram) -
CS9299:
#:yönergeleri#ifyönergesinden sonra olamaz -
CS9314:
#!yönergeleri yalnızca betiklerde veya dosya tabanlı programlarda kullanılabilir
Bu hatalar, dosya tabanlı bir uygulama için yönergeleri yanlış kullandığınızı #: gösterir. Bu yönergelerin söz dizimi hakkında daha fazla bilgi için dosya tabanlı uygulamalar bölümündeki önişlemci yönergeleri makalesinde bulabilirsiniz. Ya da dosya tabanlı uygulamalarla ilgili öğreticiyi izleyerek dosya tabanlı uygulamaları inceleyebilirsiniz.
Dosya script.cs yönergelerini içeriyor
Aşağıdaki hatalar derlenmiş bir C# dosyasında script.cs söz dizimini gösterir:
- CS7009: Dosyadaki ilk belirteç sonrasında #r kullanılamıyor
- CS7010: Alıntılanmış bir dosya adı bekleniyor
- CS7011: #r yalnızca betiklerde izin verilir
- CS8097: #load yalnızca betiklerde izin verilir
Bu yönergeler derlenmiş C# dilinde desteklenmez. Bunları kaldırmanız veya script.cs kullanmanız gerekir.