Избегайте проверки ошибок Unity для неопределенного кода #if - PullRequest
0 голосов
/ 04 октября 2019

Я работаю над проектом Unity (v2019.1.11), где у меня есть следующий случай класса, который включается через git submodule из другого проекта, где существует пространство имен (CustomNameSpace):

#if FLAG
using CustomNameSpace;

public class Foo
{

}
#endif

В моем проекте под рукой CustomNameSpace не существует. Поэтому я подумал, что если я не определю FLAG в настройках плеера Unity, файл, содержащий этот код, будет считаться пустым. Однако, хотя FLAG не определено, Unity выдает ошибку для отсутствующего пространства имен.

Я хотел бы знать, как правильно избежать возможности компилировать или даже проверять файлы кода в Unity.

РЕДАКТИРОВАТЬ:
Я уже проверил, что:
- FLAG не определено в настройках плеера Unity
- FLAG не определено ни в одном кодефайл в решении
- FLAG не определен в Assets\csc.rsp, как описано здесь

1 Ответ

1 голос
/ 04 октября 2019

Этот флаг определяется где-то в вашем проекте, либо внутри скрипта, либо внутри настроек проекта Unity.

Вам нужно найти, где он определен, и удалить определение, чтобы Unity не компилировалкод внутри него.

1) Его можно определить в окне настроек проекта Unity, чтобы найти его: Edit => Project Settings => вкладка Player, затем найдите поле ввода текста, которое находится в зеленом поле вэто screenshot, вы, вероятно, найдете там определяемый символ FLAG, удалите его.

2) Или могли бы быть определены где-то в вашем коде, чтобы найти его: я предполагаювы используете Visual Studio в качестве своей IDE, нажмите CTRL + SHIFT + F и ищите все свое решение для этой строки кода #define FLAG эта строка определяет ваш флаг, и единство распознает флаг как истинный в настоящий момент, компилируя кодвнутри это та строка, которую вы хотите удалить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...