使用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包。

再次编译工程

相关推荐
bybitq7 小时前
cmake构建c++项目时,vscode/cursor无法识别头文件路径,导致报错,解决方案
开发语言·c++·vscode
无限进步_8 小时前
二叉搜索树(BST)详解:从原理到实现
开发语言·数据结构·c++·ide·后端·github·visual studio
一个响当当的名号8 小时前
lectrue5 存储模型和压缩
ue5
wangjialelele8 小时前
二刷C语言后,一万字整理细碎知识点
c语言·开发语言·数据结构·c++·算法·cpp
mjhcsp8 小时前
P3145 [USACO16OPEN] Splitting the Field G(题解)
开发语言·c++·算法
空空潍8 小时前
hot100-合并区间(day14)
c++·算法·leetcode
是娇娇公主~8 小时前
算法——【最大子数组和】
数据结构·c++·算法
XH华8 小时前
备战蓝桥杯,第一章:C++入门
c++·蓝桥杯
Sheep Shaun8 小时前
深入理解AVL树:从概念到完整C++实现详解
服务器·开发语言·数据结构·c++·后端·算法
XH华9 小时前
备战蓝桥杯,第二章:C++语言的输入输出(上)
开发语言·c++·蓝桥杯