Я недавно обновил свою версию Unity, и запуск моего приложения с аргументами командной строки не работает правильно, если в пути к файлу есть пробел:
C:\>"D:\Builds\LiveBuilds\test folder\LIVE.exe" true test test
При вводе строки выше обычно Разобрать путь в один аргумент, а затем следующие три в 1,2,3 индексов соответственно. Похоже, что теперь он полностью игнорирует речевые метки.
Когда я делал сборку с версией Unity 2019.2.13, это работало нормально, это начиналось только после обновления до 2019.3.x
Вот как анализируются аргументы:
D:\Builds\LiveBuilds\test folder\LIVE.exe
Это как-то связано с изменением версии. NET между версиями Unity, или есть что-то, о чем я могу не знать ,
Я также использую mono 4.x, как и раньше, в качестве уровня совместимости API.
Edit 1: Хочу отметить, что кавычки вставляется windows сам. Я просто перетаскиваю .exe при тестировании. Я также хотел бы отметить, что проблема заключается не только в командной строке, но и во внешнем приложении запуска, которое использует функцию запуска процесса с путем к загруженному приложению. До этого момента это работало со старыми версиями Unity.
Редактировать 2: Я понизил проект до предыдущей версии 2019.2.13, и он отлично читает. Есть ли способ узнать, какая версия. net используется или как Unity может работать с системным кодом? Конечно, это не имеет смысла. net функциональность?
Edit 3: Final Edit, оказывается, что это проблема с Unity 2019.3 и будет исправлена позже. build: Отчет об ошибках Unity