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

再次编译工程

相关推荐
2401_841495645 小时前
【数据结构】红黑树的基本操作
java·数据结构·c++·python·算法·红黑树·二叉搜索树
liu****5 小时前
负载均衡式的在线OJ项目编写(六)
运维·c++·负载均衡·个人开发
雪下的新火5 小时前
Unity+Blender-03-输出制作Flipbook
游戏·unity·游戏引擎·blender·资源·笔记分享
青草地溪水旁6 小时前
设计模式(C++)详解——迭代器模式(3)
c++·设计模式·迭代器模式
奔跑吧邓邓子6 小时前
【C++实战㊺】解锁C++代理模式:从理论到实战的深度剖析
c++·实战·代理模式
杜子不疼.6 小时前
【C++】玩转模板:进阶之路
java·开发语言·c++
夜晚中的人海6 小时前
【C++】异常介绍
android·java·c++
m0_552200826 小时前
《UE5_C++多人TPS完整教程》学习笔记60 ——《P61 开火蒙太奇(Fire Montage)》
c++·游戏·ue5
charlie1145141917 小时前
精读C++20设计模式——行为型设计模式:迭代器模式
c++·学习·设计模式·迭代器模式·c++20
小欣加油7 小时前
leetcode 1863 找出所有子集的异或总和再求和
c++·算法·leetcode·职场和发展·深度优先