Как напечатать URL-адрес в препроцессоре ошибок c# #в Unity3D?


Я пишу на некоторых модулях Unity.

Некоторые из них зависят друг от друга, поэтому я хочу распечатать ошибку, включая URL-адрес, где получить недостающие модули.

Я попробовал это:

#if !THIS_MODULE
#define THIS_MODULE
#endif

#if !REQUIRED_MODULE
#error This Module requires the RequiredModule module
#error Please get it from "https://example.com"
#endif

Если нужный модуль отсутствует, первая строка просто выводится в консоли Unity3D, как и ожидалось

error CS1029: #error: 'This Module requires the RequiredModule module'

Но вторая строка выводит только

error CS1029: #error: 'Please get it from "https:'

  • Я пробовал его с и без " и '

    Это не изменится. все, что угодно, кроме добавления " или ' к ouput

  • Я попробовал это как

    #error Please get it from "https://example.com" 
    

    Но чем он напечатан

    #error: 'Please get it from "https://example.com"'
    

Как я могу напечатать URL-адрес корректно, используя препроцессор #error в Unity?

Есть ли какое-нибудь правило побега, которое я упускаю?

1 4

1 ответ:

Вам вообще не нужно бежать. (онлайн-демонстрация .)

Сообщение для #error/#warning директива - это (в основном) все, что после директивы и до конца строки. Это поведение также задокументировано в исходном коде компилятора .