文章目录
- 1、简介
- 1.1 先决条件
- 1.2 查找并安装包
- 1.3 卸载软件包
- 1.4 更新包
- 1.5 管理解决方案的包
- 1.6 “合并”选项卡
- 2、nuget配置程序源
- 2.1 在线源
- 2.2 本地源
- 3、nuget安装库
- 3.1 nuget安装nupengl.core(C++)
- 3.2 nuget安装Giawa.OpenGL(C#)
- 4、代码测试
- 4.1 测试代码:freeglut
- 4.2 测试代码:freeglut+tea
- 4.3 测试代码:freeglut+glew
- 4.4 测试代码:glfw
- 4.5 测试代码:glfw+glew
- 4.6 测试代码:glfw+glad
- 4.7 测试代码:glfw+glad+shader
- 4.8 测试代码:sdl2
- 4.9 测试代码:sdl2+glew
- 4.10 测试代码:sdl2+glad
- 结语
1、简介
如果你了解python,那么它类似pip。如果你了解nodejs,那么它类似npm。
什么是NuGet?
NuGet 是 .NET 的包管理器。NuGet 客户端工具提供生成和使用包的功能。NuGet 库是所有包作者和使用者使用的中央包存储库。
NuGet它就是一个包(package)管理平台,确切的说是 .net平台的包管理工具,它提供了一系列客户端用于生成,上传和使用包(package),以及一个用于存储所有包的中心库即NuGet Gallery,如果有需要也可以搭建自己的私有NuGet库。
适用于任何现代开发平台的基本工具可充当一种机制,通过这种机制,开发人员可以创建、共享和使用有用的代码。 通常,此类代码捆绑到“包”中,其中包含编译的代码(如 DLL)以及在使用这些包的项目中所需的其他内容。
NuGet 包是具有 .nupkg 扩展的单个 ZIP 文件,此扩展包含编译代码 (Dll)、与该代码相关的其他文件以及描述性清单(包含包版本号等信息)。 使用代码的开发人员共享创建包,并将其发布到公用或专用主机。 包使用者从适合的主机获取这些包,将它们添加到项目,然后在其项目代码中调用包的功能。 随后,NuGet 自身负责处理所有中间详细信息。
NuGet的客户端融合在各类开发工具中,包括但不限于:
.net core SDK中的nuget命令行;
Visual Studio中的nuget工具;
nuget.exe 命令行客户端;
Visual Studio Code中的nuget插件;
Microsoft Visual Studio for Windows 中的 NuGet 程序包管理器 UI 允许你轻松安装、卸载和更新项目和解决方案中的 NuGet 程序包。
1.1 先决条件
- (1)Visual Studio 2017 及更高版本在 .已安装与 NET 相关的工作负载。若要在 Visual Studio 安装程序中单独安装它,请选择“单个组件”选项卡,然后在“代码工具”下选择“NuGet 包管理器”。
- (2)对于 Visual Studio 2015,如果缺少 NuGet 包管理器,请检查“扩展和更新>工具”,然后搜索 NuGet 包管理器扩展。如果无法在 Visual Studio 中使用扩展安装程序,请直接从 https://dist.nuget.org/index.html 下载扩展。
- (3)如果您还没有免费帐户,请在 nuget.org 上注册一个免费帐户。必须先注册并确认帐户,然后才能上传 NuGet 包。
1.2 查找并安装包
若要查找并安装 NuGet 包与 Visual Studio,请按照下列步骤操作:
- 在“解决方案资源管理器”中加载项目,然后选择“项目”>“管理 NuGet 包”。
- 将打开“NuGet 包管理器”窗口。
- 选择“浏览”选项卡以按当前所选源的受欢迎程度显示包(请参阅包源)。要搜索特定包,请使用左上角的搜索框。从列表中选择一个包,以在右窗格中显示其信息,这样您就可以选择要安装的版本。
若要使用 NuGet 包管理器 在 Visual Studio 中安装 Newtonsoft.Json 包,请执行以下步骤:
(1)选择“项目”>“管理 NuGet 包” 。
(2)在“NuGet 包管理器”窗口中,选择“nuget.org”作为包源。
(3)在 “浏览 ”选项卡中,搜索 Newtonsoft.Json,在列表中选择 Newtonsoft.Json ,然后选择“ 安装”。
(4)如果系统提示验证安装,请选择“ 确定”。
1.3 卸载软件包
若要卸载 NuGet 包,请执行以下步骤:
- 在“解决方案资源管理器”中加载项目,选择“项目”>“管理 NuGet 包”,然后选择“已安装”选项卡。
- 在左窗格中选择要卸载的包(如有必要,请使用“搜索”框查找它),然后从右窗格中选择“卸载”。
1.4 更新包
若要更新 NuGet 包,请执行以下步骤:
- 在“解决方案资源管理器”中加载项目,然后选择“项目”>“管理 NuGet 包”。对于网站项目,请先选择 Bin 文件夹。
- 选择“更新”选项卡以查看具有所选包源中可用更新的包。选择“包括预发行版”以在更新列表中包括预发行版包。
- 选择要更新的包。在右侧窗格中,从下拉列表中选择所需的版本,然后选择 更新。
1.5 管理解决方案的包
管理解决方案的包是同时处理多个项目的便捷方法:
- 在解决方案管理器中选择一个解决方案,然后选择“NuGet 包管理器>工具”>“管理解决方案的 NuGet 包”。
- 在“管理解决方案的 NuGet 包”窗口中,选择受操作影响的项目。
1.6 “合并”选项卡
开发人员通常认为,在同一解决方案中的不同项目中跨不同项目使用同一 NuGet 包的不同版本是一种不好的做法。Visual Studio 允许你对 NuGet 包使用通用版本。为此,请使用“NuGet 包管理器”窗口的“合并”选项卡来发现解决方案中不同项目使用具有不同版本号的包的位置。
2、nuget配置程序源
2.1 在线源
如果遇到NuGet程序包加载超时的问题时,可按如下步骤解决:
VS菜单: 工具 -> NuGet包管理器 -> 程序包管理器设置,如下所示:
我们知道,直接使用https://www.nuget.org/api/v2/源访问或下载资源的速度在国内来说是非常慢的,我们可以添加国内的资源地址,如华为或腾讯等。
2.2 本地源
手动下载nuget包,新增vs本地nuget下载源。我们可以在Visual Studio中增加本地源:
在工具->选项->Nuget包管理器->程序包源中,可以增加本地的路径。
在开发时,就可以从本地加载NuGet包了:
3、nuget安装库
3.1 nuget安装nupengl.core(C++)
新建一个空项目工程如下:
打开nuget管理界面:
搜索nupengl包:
选中第一个"nupengl.core",点击安装。
相关包安装之后,在项目文件夹里会自动产生一个文件夹packages.
packages文件夹里存放本项目安装的各个包文件。
这是nupengl包的库文件。
这是nupengl包的头文件。
在项目的解决方案的树节点上也会自动增加一个节点“packages.config”
节点“packages.config”对应的文件里有本项目安装的相关包的信息。
3.2 nuget安装Giawa.OpenGL(C#)
The Tao Framework+.net、SharpGL、opengl4csharp、OpenGL.Net、CSharpGL。
- 1、打开Visual Studio,新建个工程,winform或者控制台均可。
- 2、安装Giawa.OpenGL和Giawa.OpenGL.Platform。
这2个库来自于一个开源工程,叫opengl4csharp。
Github地址:https://github.com/giawa/opengl4csharp
在nuget里面搜索安装即可。 - 3、下载SDL2.dll并添加到bin目录里面。
4、代码测试
给本测试项目添加一个cpp文件:test.cpp
4.1 测试代码:freeglut
test.cpp:
4.2 测试代码:freeglut+tea
4.3 测试代码:freeglut+glew
4.4 测试代码:glfw
4.5 测试代码:glfw+glew
4.6 测试代码:glfw+glad
4.7 测试代码:glfw+glad+shader
4.8 测试代码:sdl2
在nuget的包管理器界面搜索sdl2.nuget的记录。
点击右侧的安装按钮。
包下载完成之后,自动弹出如下界面提示将sdl2包的相关数据集成到当前项目工程中。
在packages.config文件发现增加了sdl相关包。
编写如下测试代码:
- test.cpp:
4.9 测试代码:sdl2+glew
编写如下测试代码:
- test.cpp:
4.10 测试代码:sdl2+glad
编写如下测试代码:
- test.cpp: