使用unreal engine5.3.2创建c++第一人称游戏

UE5系列文章目录

文章目录

前言

为了使用unreal engine5.3.2创建c++第一人称游戏,今天安装了Visual Studio 2022专业版。在ue5中创建c++工程,结果编译器报错:

严重性 代码 说明 项目 文件 行 禁止显示状态 详细信息

错误 NETSDK1004 找不到资产文件"D:\Program Files\Epic Games\UE_5.3\Engine\Source\Programs\Shared\EpicGames.OIDC\obj\project.assets.json"。运行 NuGet 包还原以生成此文件。 EpicGames.OIDC C:\Program Files\dotnet\sdk\8.0.204\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets 266

第一感觉是跟 :NuGet 有关系

一、NuGet 简介

微软的官方解释:

适用于任何现代开发平台的基本工具可充当一种机制,通过这种机制,开发人员可以创建、共享和使用有用的代码。 通常,此类代码捆绑到"包"中,其中包含编译的代码(如 DLL)以及在使用这些包的项目中所需的其他内容。

对于 .NET(包括 .NET Core),共享代码的 Microsoft 支持的机制则为 NuGet,其定义如何创建、托管和使用面向 .NET 的包,并针对每个角色提供适用工具。

简单来说,NuGet 包是具有 .nupkg 扩展的单个 ZIP 文件,此扩展包含编译代码 (Dll)、与该代码相关的其他文件以及描述性清单(包含包版本号等信息)。 使用代码的开发人员共享创建包,并将其发布到公用或专用主机。 包使用者从适合的主机获取这些包,将它们添加到项目,然后在其项目代码中调用包的功能。 随后,NuGet 自身负责处理所有中间详细信息。

由于 NuGet 支持公用 nuget.org 主机旁边的专用主机,因此,可以使用 NuGet 包来共享组织或工作组专用的代码。 此外,你还可以使用 NuGet 包作为一种便捷的方式,将自己的代码用于除你自己项目之外的任何其他项目。 简而言之,NuGet 包是可共享的代码单元,但不需要暗示任何特定的共享方式。

二、解决方法:

第一种方法:

在visual studio 2022中:Tools -> NuGet Package Manager -> Manage NuGet Packages for Solution

你可以尝试运行NuGet包还原来生成缺失的文件。在Visual Studio中,你可以通过右键点击解决方案资源管理器中的解决方案,然后选择"管理NuGet程序包",再点击"还原"按钮来还原NuGet包。
第二种方法:

如果第一种方法没解决使用下面的方法

如果你在命令行中操作,可以在"程序包管理控制台"界面中使用dotnet restore命令,然后回车,来还原NuGet包。

再次编译工程

相关推荐
东风吹柳44 分钟前
观察者模式(sigslot in C++)
c++·观察者模式·信号槽·sigslot
A懿轩A1 小时前
C/C++ 数据结构与算法【栈和队列】 栈+队列详细解析【日常学习,考研必备】带图+详细代码
c语言·数据结构·c++·学习·考研·算法·栈和队列
tealcwu1 小时前
【游戏设计原理】22 - 石头剪刀布
游戏·游戏策划
大胆飞猪2 小时前
C++9--前置++和后置++重载,const,日期类的实现(对前几篇知识点的应用)
c++
1 9 J2 小时前
数据结构 C/C++(实验五:图)
c语言·数据结构·c++·学习·算法
夕泠爱吃糖2 小时前
C++中如何实现序列化和反序列化?
服务器·数据库·c++
长潇若雪2 小时前
《类和对象:基础原理全解析(上篇)》
开发语言·c++·经验分享·类和对象
l138494274514 小时前
Java每日一题(2)
java·开发语言·游戏
染指11104 小时前
50.第二阶段x86游戏实战2-lua获取本地寻路,跨地图寻路和获取当前地图id
c++·windows·lua·游戏安全·反游戏外挂·游戏逆向·luastudio
Code out the future5 小时前
【C++——临时对象,const T&】
开发语言·c++