所以这个项目是一个在线的MMO。它使用uMMORPG2D资产(而后者又使用UNET)。
在过去的一周里,这些代码一直运行良好,没有发生任何事件,而且在这段时间里也没有进行过任何修改。然而,现在它突然抛出了这个错误。我不知所措。
更复杂的是,在我自己构建/版本的项目上,一切都运行良好。我不明白这个错误。但是,运行完全相同构建/版本的朋友确实会收到此错误。
声称被打破的线非常简单(再简单不过了)。它所做的就是设置一个等于another....the的整数,唯一可能的问题是正在设置的整数是一个SyncVar。
以下是有关守则;
[SyncVar]
internal int mainID = 0;
public void SetIndices(int bodyIndex, [...])
{
mainID = bodyIndex;
[...]
}SetIndices从
int bodyID = Convert.ToInt32((long)mainrow[5]);
[...]
charCreator.SetIndices(bodyID, [...]);没有强制转换异常或任何类似的类型(据我所知),所以我没有理由认为这会导致错误?
实际错误是
InvalidProgramException: CharacterCreator:set_NetworkmainID (Int)中无效的IL代码: IL_0011:调用 0x2b00000a
发布于 2018-05-27 10:27:20
虽然我不能确切地确定问题的实际原因,但解决方案是重新安装Unity。
团队成员建议我为团结实现HLAPI插件(这涉及替换安装目录中的Unity.dll文件)。有人告诉我,一个不正确的安装会导致许多错误(没有人),因此假设它运行良好。
经过重要的测试后,它的工作时间和错误开始显示的唯一区别是HLAPI安装。所以我卸载了它,它正常工作。
不知道它为什么坏了,也许我安装的不正确,但是重新安装联合解决了这个问题。
https://stackoverflow.com/questions/50538233
复制相似问题