写在开始

最近因为电脑CPU性能问题考虑将UE4的C++编译部分放到另一台电脑上,一个简单的想法就是项目通过SMB共享,然后在另一台性能强的电脑上编译VS项目,在两台电脑同时拥有VS和UE4之后,就出现了上述错误

问题情况

大意是

未能加载文件或程序集xxxxxxxx或它的某一个依赖项。 不支持操作

输出出来的报错日志把我引到了这个网站

产生这个问题的原因是因为 .NET Framework早期的CAS机制和沙箱机制,因为某些原因废除了之后直接不允许加载远程的dll了,要手动打开。

解决方法

解决方法简单点的就是直接在启动参数上加上这个配置,直接用Everything搜索UnrealBuildTool能找到这个程序所在的目录,这个目录底下有一个同名的.config文件,要添加的参数就在那里面。

我的路径大概是这个样子的:

C:\Program Files\Epic Games\UE_4.26\Engine\Binaries\DotNET\UnrealBuildTool.exe.config

大概之后照着改成这样子就可以了:

<?xml version="1.0"?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/>
  </startup>
  <runtime>
    <Thread_UseAllCpuGroups enabled="true"/>
    <GCCpuGroup enabled="true"/>
    <gcServer enabled="true"/>
    <loadFromRemoteSources enabled="true"/>  
  </runtime>
</configuration>

加上那个参数之后就工作正常了

写在最后

这个问题似乎直接在网上搜不到,可能大家都不是用SMB加载UE4的项目吧。

PS:最后我编译是编译成功了,但是编译速度全都卡在了千兆网口上了,CPU基本上一点没吃。难怪没人用

Last modification:October 27th, 2021 at 08:54 pm