找回密码
 立即注册
查看: 215|回复: 0

虚幻引擎新建C++工程UnrealBuildTool报错找不 …

[复制链接]
发表于 2022-8-17 09:21 | 显示全部楼层 |阅读模式
今天突然心血来潮,想把虚幻给捡起来。结果刚想创建一个C++项目,UnrealBuildTool.exe就报错说什么DotNetCore3.1运行时Net Found。原来是UE5把UnrealBuildTool的.Net版本从.Net Framework迁移到了.Net Core 3.1,而我电脑上正好没装这个版本(.NET 6正式发布之后我就把之前的全部卸载了)。
这本来倒也不是什么问题,缺什么东西装上就是了,查了一圈网上大多数文章也都是这么说的。但作为一个SDK洁癖,我怎么会容忍一个我大概率永远也用不到的且已经过时的SDK装在我的电脑上呢?更何况由于平时开发需要,我的电脑上是装了.NET 6的,于是很自然地 我第一个想到的便是利用EPIC提供的源码,在.NET 6上重新编译一遍UnrealBuildTool。
打开虚引擎的安装目录,在Engine/Source/Programs/UnrealBuildTool目录下,我们用Rider(VS也行)打开UnrealBuildTool.sln。


然后修改所有的项目文件(.csproj)的TargetFramework键为以下值:
<TargetFramework>net6.0</TargetFramework>
我这里使用的是目前(截至发稿:2022.6)最新的LTS版本.NET 6,如果未来微软发布了.NET 8或者其他LTS版本,这里就需要填写对应的版本。当然你在VS或者Rider的图形界面里改也是可以的。
保存,然后在Release模式下重新生成解决方案即可。

生成成功后就可以看到,在引擎安装目录/Engine/Binaries/DotNET/UnrealBuildTool下,的UnrealBuildTool的最新更新日期已经改变,就说明原本的UnrealBuildTool已经被更新为了我们自己编译的版本。


现在,再去虚幻引擎编辑器里创建C++项目,就不会报错 “DotNetCore3.1 Not Found” 了。
不过呢,如果是生产环境的话,除非有充足的理由,否则建议还是不推荐这么干。我的话现在再不任性,等以后工作了恐怕就没机会了。用什么语言、技术栈、框架都不是你能决定的。就算是以后做到了项目经理,甚至是架构的位置上,技术选型也不是任凭自己喜好就能胡来的,相反,位置越高,要考虑的东西就越多,就越不可能凭自己的好恶来选择。
转载自(虽然也是我自己,不过为了防止被版权机器人误判):

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-5-24 22:26 , Processed in 0.177604 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表