2013-07-31 5 views
8

È possibile aggiungere una direttiva del preprocessore per causare un errore in fase di compilazione in C# come questo:Creare errore con testo personalizzato che impedisce la compilazione in VB.NET (# errore in C#)

#error This will cause a divide by zero 

Come posso fare lo stesso di this in vb.net?

o

C'è un altro modo per creare un errore che fornisce informazioni utili personalizzata nella ErrorList.

TLDR:voglio fare qualcosa di simile in VB.NET:

photo taken from C# project

+3

Piuttosto che downvotes.Commenti di ciò che ho bisogno di chiarire sarebbe bello ... – jth41

+1

Non vedo nessuna direttiva che faccia questo. Ecco la pagina MSDN per le direttive vb.net: http://msdn.microsoft.com/en-us/library/7ah135z7.aspx –

+0

[Questa risposta] (http://stackoverflow.com/questions/5582331/is-ever -legal-in-c-sharp-or-vb-net # 5582704) sembra abbastanza sicuro che non ci sia alcun equivalente. –

risposta

9

Ecco un modo per ottenere ciò che desideri. Non è perfetto Ma lo fa con questi parametri di:

  • Impedisce la compilazione
  • Mette testo personalizzato nella finestra Elenco errori

Innanzitutto è necessario dichiarare una variabile con il testo personalizzato che si desidera visualizzare con caratteri di sottolineatura in tra ogni parola. (Sì, le sottolineature sono fastidiosi ma sono necessarie)

Dim This_is_as_useful_a_description_as_your_gonna_get as String

Questo crea una variabile non utilizzata. che, insieme con la capacità del IDE per trattare gli avvisi come errori vi darà qualcosa di simile a quello che stai cercando:

enter image description here

È possibile attivare gli avvisi trattare come errori andando alle proprietà del progetto e la compilazione scheda. in questo modo:

enter image description here

1

non esiste un equivalente di

#error 

in VB.Net

Ho trovato alcun modo per aggiungere un errore significativo per impedire la compilazione.

1

È inoltre possibile dichiarare una var con sicura errore del compilatore come ad esempio:

Dim error As String = "This is as useful a description as your gonna get"

evitando così tutte le sottolineature. Ciò comporterà automaticamente un errore di compilazione ("Parola chiave non valida come identificatore"), non un avviso.

Esempio:

#if _A_DEPRECATED_DEFINE_ 
DIM error As String = "remove the define: is deprecated!" 
#end if 
+1

Ciò provoca un errore del compilatore, ma l'OP voleva che il testo dell'errore venisse visualizzato nella finestra Elenco errori in Visual Studio (non per produrre semplicemente un errore del compilatore, che potrebbe essere eseguito in un numero di modi). –