写在开始
最近因为电脑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基本上一点没吃。难怪没人用