У меня была игра для единства, написанная в версии 201f 1.1f1.Я хотел открыть его в версии 2019.1.0f2.
Я изменил версию сценариев времени выполнения в настройках проектов с эквивалента .net 2.0 до .net 4.0.После этого, когда я нажимаю кнопку воспроизведения, Unity дает тысячи значений nullReferenceExceptions и ArgumentOutOfRangeExceptions.
Я удалил папки библиотеки, obj и temp, но не сработал.
Я думаю, что Unity не видит сценарийфайлы.Я не знаю, что для этого сделать.
Это из-за устаревших объектов?
Как мне решить эту проблему?
Спасибо,

Редактировать :
@ Колин Янг
- Все сценарии, прикрепленные к их игреОбъекты
- Все плагины загружены.Перезагружен снова.
- Попытка сохранения, повторного открытия и построения в Visual Studio.
- Я получаю эти ошибки после обновления до 2019. Я также обновляю Visual Studio с 2017 до 2019. Против 2019 уже единствопакет разработки игры.
- Visual Studio не выдает никаких ошибок, просто предупреждает об устаревших классах и методах.
@ BugFinder, @LeafLayer Это файл сценария, который вы упомянули.Тысячи ошибок действительно происходит в методе обновления.Я понимаю, что после вашего комментария.
public class LoginMenuLanguageSupporter : MonoBehaviour {
public GameObject LogoutButton;
public GameObject LoginButton;
public GameObject UserNameHintInputField;
public GameObject PasswordHintInputField;
public GameObject RememberMe;
public GameObject LoggingPanelText;
public GameObject SloganText;
public GameObject loadingText;
private LocalizationSupport LocalizationSupport;
private LanguageCode PrevLanguageCode;
void Start()
{
//localization bilgileri
if (GameObject.Find(Settings.Localization))
LocalizationSupport = GameObject.Find(Settings.Localization).GetComponent<LocalizationSupport>();
PrevLanguageCode = LocalizationSupport.SelectedLanguage;
SetLanguages();
}
void Update()
{
if (LocalizationSupport.SelectedLanguage.Code.Equals(PrevLanguageCode.Code))
return;
PrevLanguageCode = LocalizationSupport.SelectedLanguage;
SetLanguages();
}
void SetLanguages()
{
SetLanguage(ref LogoutButton, "exit");
SetLanguage(ref LoginButton, "login");
SetLanguage(ref UserNameHintInputField, "username");
SetLanguage(ref PasswordHintInputField, "password");
SetLanguage(ref RememberMe, "rememberme");
SetLanguage(ref LoggingPanelText, "loggingon");
SetLanguage(ref SloganText, "slogan");
SetLanguage(ref loadingText, "loggingon");
}
void SetLanguage(ref GameObject go, string code)
{
go.GetComponent<Text>().text = string.IsNullOrEmpty(LocalizationSupport.Translate(code)) ? go.GetComponent<Text>().text : LocalizationSupport.Translate(code);
}
}
Редактировать 2:
Да. PrevLanguageCode равно нулю.