Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Unity3D更新2018.1.f1至2019年后,我收到数千个异常_C#_Unity3d - Fatal编程技术网

C# Unity3D更新2018.1.f1至2019年后,我收到数千个异常

C# Unity3D更新2018.1.f1至2019年后,我收到数千个异常,c#,unity3d,C#,Unity3d,我在2018年1.1f1版本中编写了一个unity游戏。我想在2019.1.0f2版本中打开它 我将项目设置中的运行时脚本版本从.net 2.0更改为与.net 4.0等效的版本。之后,当我按下播放按钮时,unity会给出数千个NullReferenceException和ArgumentOutOfRangeException 我删除了library、obj和temp文件夹,但不起作用 我认为unity没有看到脚本文件。我不知道该怎么办 是因为被弃用的对象吗 我怎样才能解决这个问题 谢谢 编辑

我在2018年1.1f1版本中编写了一个unity游戏。我想在2019.1.0f2版本中打开它

我将项目设置中的运行时脚本版本从.net 2.0更改为与.net 4.0等效的版本。之后,当我按下播放按钮时,unity会给出数千个NullReferenceException和ArgumentOutOfRangeException

我删除了library、obj和temp文件夹,但不起作用

我认为unity没有看到脚本文件。我不知道该怎么办

是因为被弃用的对象吗

我怎样才能解决这个问题

谢谢

编辑

@科林杨

  • 所有附加到其游戏对象的脚本
  • 所有插件都已加载。重新加载
  • 已尝试在visual studio中保存退出、重新打开和生成
  • 我在升级到2019年后遇到这些错误。我还将visual studio从2017年升级到2019年。VS2019已经有了unity游戏开发包
  • VisualStudio不会抛出任何错误,只是对不推荐的类和方法发出警告
@BugFinder,@leaftlayer这是您提到的脚本文件。更新方法中实际发生了数千个错误。经过你的评论,我意识到了这一点

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);
    }

}
公共类LoginMenuLanguageSupporter:MonoBehavior{
公共游戏对象注销按钮;
公共游戏对象登录按钮;
公共游戏对象用户名hintinputfield;
公共游戏对象密码hintinputfield;
公共游戏对象记忆;
公共游戏对象日志文本;
公共游戏对象SloganText;
公共游戏对象加载文本;
私人本地化支持本地化支持;
专用语言代码PrevLanguageCode;
void Start()
{
//比尔吉列里
if(GameObject.Find(Settings.Localization))
LocalizationSupport=GameObject.Find(Settings.Localization.GetComponent();
PrevLanguageCode=LocalizationSupport.SelectedLanguage;
SetLanguages();
}
无效更新()
{
if(本地化支持.SelectedLanguage.Code.Equals(PrevLanguageCode.Code))
返回;
PrevLanguageCode=LocalizationSupport.SelectedLanguage;
SetLanguages();
}
void SetLanguages()
{
设置语言(参考注销按钮,“退出”);
设置语言(参考登录按钮,“登录”);
SetLanguage(参考UserNameHintInputField,“用户名”);
SetLanguage(参考PasswordHintInputField,“密码”);
设置语言(参考RememberMe,“RememberMe”);
设置语言(参考LoggingPanelText,“loggingon”);
SetLanguage(参考SloganText,“标语”);
设置语言(参考加载文本,“登录”);
}
void SetLanguage(参考游戏对象go,字符串代码)
{
go.GetComponent().text=string.IsNullOrEmpty(本地化支持.Translate(代码))?go.GetComponent().text:LocalizationSupport.Translate(代码);
}
}
编辑2:


PrevLanguageCode为空。

不显示最后一个。。你需要第一个。。总是把它们按顺序修好1.我仔细检查了错误。但所有这些都是一次又一次的错误。该项目在2018版上运行良好。有些东西没有初始化,因此为空。。如果真的是所有这些,我们无法帮助您从图片中跟踪。。LoginMenuLanguageSupporter.cs上的第30行到底是什么?例如,上面只有“那么多”,找出什么是空的,找出它在哪里,以及为什么现在是空的问题在LoginMenuLanguageSupport.cs类的第30行。至少发布这些代码,因为现在无法帮助您,脚本是否显示在您的项目视图中?它们是否附加到您希望它们附加到的游戏对象?你所有的插件都加载了吗?您是否尝试过保存、退出Unity并重新打开项目(我假设您已经有了备份)?您在升级到2019年后更改脚本后端之前是否遇到这些错误?还是你同时做了两个改变?您是否尝试打开代码编辑器并在那里编译?我见过很多beta/alpha版本之间的切换,通常会通过其中一个操作清除。不要显示最后一个。。你需要第一个。。总是把它们按顺序修好1.我仔细检查了错误。但所有这些都是一次又一次的错误。该项目在2018版上运行良好。有些东西没有初始化,因此为空。。如果真的是所有这些,我们无法帮助您从图片中跟踪。。LoginMenuLanguageSupporter.cs上的第30行到底是什么?例如,上面只有“那么多”,找出什么是空的,找出它在哪里,以及为什么现在是空的问题在LoginMenuLanguageSupport.cs类的第30行。至少发布这些代码,因为现在无法帮助您,脚本是否显示在您的项目视图中?它们是否附加到您希望它们附加到的游戏对象?你所有的插件都加载了吗?您是否尝试过保存、退出Unity并重新打开项目(我假设您已经有了备份)?您在升级到2019年后更改脚本后端之前是否遇到这些错误?还是你同时做了两个改变?您是否尝试打开代码编辑器并在那里编译?我在beta/alpha版本之间看到过很多这种情况,通常通过这些操作之一就可以解决。