سلام .

خطا :
در هنگام Build کردن پروزه ممکن است که کامپایلر ویژوال بیسیک دات نت ناگهان از کار افتاده و شما پیغام خطای زیر را دریافت نمایید :


Visual Basic .NET compiler is unable to recover from the following error: System Error &Hc0000005& (Visual Basic internal compiler error)
Save your work and restart Visual Studio .NET.


علت بروز خطا :
این مشکل (BUG) زمانی رخ میدهد که شما از کلمه کلیدی DirectCast در جهت پاس کردن یک آرگومان به سازنده ی یک Atribute استفاده نمایید . به طور مثال اگر شما در یکی از فایلهای پروژه خود از کد زیر استفاده نمایید ، خطای فوق رخ میدهد :

<DefaultValueAttribute(DirectCast(Nothi  ng, String))>


چگونگی رفع خطا :
برای رفع این مشکل ، مراحل زیر را دنبال نمایید :
1 – پس از اینکه پیغام خطا را دریافت کردید ، از VS.Net خارج شوید .
2 – VS.Net را مجددا اجرا نمایید .
3 – در کد خود به جای استفاده از کلمه کلیدی DirectCast ، از کلمه کلیدی CType استفاده نمایید .

به طور مثال ممکن است که پروژه شما حاوی فایلی باشد که کد زیر در آن وجود دارد :

<DefaultValueAttribute(DirectCast(Nothi  ng, String))>


در اینصورت کد زیر را جایگزین کد فوق نمایید :

<DefaultValueAttribute(CType(Nothing  , String))>


کد جدید از کلمه کلیدی CType به جای DirectCast استفاده میکند .

چگونگی تولید دوباره خطا:
در جهت تولید دوباره این مشکل مراحل زیر را دنبال نمایید .
1 – VS.Net را اجرا نمایید .
2 – یک پروژه کنسول جدید ایجاد نمایید .( به طور پیش فرض فایل Module1.vb ایجاد خواهد شد.)
3 – در فایل Module1.vb کد زیر را بیابید :

Module Module1


4 – کد زیر را قبل از کدی که در مرحله 3 آن را یافتید وارد نمایید :

Imports System.ComponentModel


5 – در فایل Module1.vb کد زیر را پیدا نمایید :

End Sub


6 – کد زیر را بعد از کدی که در مرحله قبل پیدا کردید قرار دهید :


<DefaultValueAttribute(DirectCast(Nothi ng, String))> _
Private ReadOnly Property Prop() As Integer
Get
End Get
End Property


7 – پروژه را Build نمایید .
به خروجی زیر که در پنجره Build ظاهر میشود توجه کنید :

Preparing resources...
Updating references...
Performing main compilation...

در این لحضه کامپایلر VB.Net از کار می افتد .
8 – از منوی Build گزینه Cancel را در جهت توقف عملیات کامپایل کلیک کنید .
9 – از منوی فایل گزینه Close را انتخاب نمایید .
شما پیغام خطایی که راجع به آن صحبت شد را دریافت خواهید کرد .

منبع : support.microsoft.com