关于ET5.0 在Unity中RSync同步Win32Exception异常处理
< 返回列表时间: 2020-02-24来源:OSCHINA
可以参考我之前的文章 Win32Exception解决方法
主要代码是:
ETModel.ProcessHelper类中的
原先:ProcessStartInfo info = new ProcessStartInfo
{
FileName = exe,
Arguments = arguments,
CreateNoWindow = true,
UseShellExecute = useShellExecute,
WorkingDirectory = Path.GetFullPath(workingDirectory),
RedirectStandardOutput = redirectStandardOutput,
RedirectStandardError = redirectStandardError,
};
修改后:
ProcessStartInfo info = new ProcessStartInfo
{
FileName = Path.GetFullPath(workingDirectory)+ exe,
Arguments = arguments,
CreateNoWindow = true,
UseShellExecute = useShellExecute,
WorkingDirectory = Path.GetFullPath(workingDirectory),
RedirectStandardOutput = redirectStandardOutput,
RedirectStandardError = redirectStandardError,
};

但是这个方法不是很完美,下面介绍更保险的方法
同步问题可以运行,但是会发现Web资源服务器和Proto2CS无法运行,又出现这个错误,所以为了修改代码不对其他造成影响。
先将原先的代码全部还原,然后方法改为:
找到 ETEditor.RsyncEditor类 找到最后几行
ProcessHelper.Run( @".\Tools\cwRsync\rsync.exe", arguments, @"..\", waitExit: true);

改为:
ProcessHelper.Run( Path.GetFullPath(@"..\") + @".\Tools\cwRsync\rsync.exe", arguments, @"..\", waitExit: true);

这样既可以实现同步资源,也不会对其他功能造成影响

如果出现 Unity卡死情况 ,上面改为ProcessHelper.Run( Path.GetFullPath(@"..\") + @".\Tools\cwRsync\rsync.exe", arguments, @"..\", waitExit: false );
热门排行