技术博客

19/09/2024 作者 Troy

轻松移植应用程序!一文讲清如何将Kvaser NuGet软件包安装到Visual Studio并进行相关设置

我们.NET封装器的一项新功能极大程度简化了应用程序在不同操作系统之间的移植工作。通过链接到Visual Studio中的资源库,当您创建新项目时,NuGet会自动抓取库的正确版本。这确实极大地提升了开发体验,并且任何使用VB .NETC#的人都可以利用这一功能。本指南将引导您在Visual Studio中完成进行相关设置过程。

从CANlib SDK安装包的5.45.724版本开始,.NET封装器得到了更新,使用起来更加方便。改进之处包括:

  • 已消除架构依赖性。所有封装器组件均面向所有类型的CPU设计
  • 所有封装器均重新设计以支持.NET Standard 2.0和.NET 6.0
  • 当为.NET Framework 4.6.1及更高版本、.NET Core 2.0及更高版本和 .NET 5.0及更高版本进行开发时,.Net Standard 2.0封装器仅适用于Windows。
  • 为.NET 6.0及更高版本开发时,.Net Standard 6.0封装器可用于Windows和Linux。对于新开发项目,它们是首选。
  • 所有封装器中都添加了NuGet软件包。NuGet软件包同时包含用于.NET Standard 2.0和.NET 6.0的组件。NuGet软件包会基于您的项目设置自动选择正确的组件。

本文将重点介绍如何使用最后一项改进功能,说明如何将Kvaser NuGet软件包安装到Visual Studio中,以及如何将Kvaser NuGet软件包添加到项目中。

我将使用Visual Studio 2022进行演示。

如何将Kvaser NuGet软件包添加到Visual Studio

启动Visual Studio 2022并选择“继续”。(不需要编写代码)


在菜单中,选择“工具” -> “NuGet软件包管理器设置”。


在“选项”对话中,选择“NuGet软件包管理器”下的“包源”。


如果您看到的是一个纯白色窗格,而不是下面的屏幕所示的设置,请选择“总览”,然后再次选择“包源”。


设置正确显示后,点击绿色加号符号添加软件包。


然后输入一个适当的名称,如Kvaser软件包,并使用“…”键浏览CANlib SDK dotnet文件的安装目录C:\Program Files (x86)\Kvaser\CANlib\dotnet\。


然后按“选择”以选择该目录。


按“更新”将Kvaser软件包信息加载到包源。


按“OK”保存您的更改并退出对话。


Kvaser软件包现已添加到Visual Studio的NuGet软件包管理器中,现在即可将软件包添加到您的项目中。

如何将Kvaser NuGet软件包添加到您的项目

出于演示目的,我将创建一个新的Visual Basic控制台应用。我本可以选择C#、C++或F#控制台应用。这些步骤同样适用于Windows Form、WPF、类库和DLL应用。

如需创建一个新项目,在菜单中选择“文件” -> “新建” -> “项目…”


我已经将我的项目模板筛选为仅Visual Basic模板。点击项目模板列表中的VB控制台应用,然后点击“下一步”。


按需要设置项目名称、位置和解决方案名称,然后点击“下一步”。


从下拉列表中选择您所需的Framework版本。本例中选择.NET,然后单击“创建”按钮。


在解决方案管理器中右击项目,然后从弹出菜单中选择“管理NuGet软件包…”。


点击“包源”下拉列表并选择“Kvaser软件包”。


点击“浏览”键查看您可以安装哪个Kvaser软件包。


选择一个您想要使用的软件包,右窗中将包含该软件包的相关信息。


点击“安装”键,将软件包添加到项目。


这里系统会警告您:Visual Studio将改动解决方案。点击“应用”键即可。

NuGet软件包管理器现在显示软件包已安装。已安装的软件包现在列为了解决方案管理器中的一个依赖项。


对于项目中需要的每个Kvaser软件包,重复这些步骤即可(选择一个软件包并点击安装)。然后关闭NuGet软件包管理器。

现在您就可以在您使用安装的Kvaser软件包的代码中添加新行了。


当您已安装Kvaser驱动程序时,不会遇到任何build或运行时间错误。

我们希望这个教程能帮助您更便捷地将我们的库整合到您的软件中。如果您有任何问题或建议,请通过support.cn@kvaser.com 联系Kvaser支持。

Author Image

Troy Via

Troy Via是Kvaser股份有限公司的软件和支持工程师。Troy为Kvaser编写了多个培训视频,是产品开发团队的关键成员。他也代表Kvaser参加NMEA讨论。工作之余,他还是一名狂热的游戏玩家。