跳到主要内容

使用NuGet构建 .NET项目

本节提供了如何使用 NuGet Visual Studio 扩展版本 v3.5.0 或 NuGet 命令行版本 v3.5.0 消费 Solace .NET 消息 API NuGet 包的信息。

NuGet 是 Microsoft 开发平台的包管理器,作为 Microsoft Visual Studio 扩展(NuGet.Tools.vsix)分发,并从 Microsoft Visual Studio 2012 开始预安装。如果您下载 Windows x86 命令行分发版(nuget.exe),您也可以通过直接从 Windows 命令处理器运行或使用包管理器控制台,从控制台使用 NuGet。

从版本 10.0.0 开始,Solace .NET 消息 API(也称为 SolClient for .NET)也可作为 NuGet 包提供。SolClient for .NET NuGet 包可以直接从 nuget.org 消费,发布到并从支持 NuGet 包装格式的企业仓库消费,或者复制到本地目录并从那里消费。

以下部分提供了如何使用 NuGet Visual Studio 扩展版本 v3.5.0 或 NuGet 命令行版本 v3.5.0 消费 Solace .NET 消息 API NuGet 包的信息。

有关如何消费 NuGet 包的一般信息,请参阅 Microsoft NuGet 包消费工作流网页。

升级项目到NuGet

在将现有 Visual Studio 项目升级为消费 SolClient for .NET NuGet 包之前,删除任何将 Solace C API 库复制到目标目录的后期构建事件。未能这样做将导致在运行时加载错误的 Solace C API 库。

SolClient for .NET NuGet 的正确库将在构建时自动复制到目标目录。

使用NuGet Visual Studio扩展消费

  1. 指定包源。

您必须知道 SolClient for .NET 包将被消费的位置:nuget.org、内部 NuGet 仓库或本地文件。知道消费位置允许您从 NuGet Visual Studio 扩展(VSE)GUI 中选择包源。

当包源指定后,SolaceSystems.Solclient.Messaging 包将显示在 NuGet VSE 的浏览标签页中。

img

  1. 点击 NuGet VSE 中的“安装”按钮,然后接受许可条款。

安装完成后,SolaceSystems.Solclient.Messaging 包将出现在 NuGet VSE 的已安装标签页中,并且它被添加到您的项目引用列表中,如下所示。

img

此时,SolClient for .NET NuGet 包已成功消费,并且应该可以在程序中使用 SolaceSystems.Solclient.Messaging 命名空间。

img

使用NuGet命令行消费

本节提供了使用嵌入到 NuGet Visual Studio 扩展(包管理器控制台)中的 NuGet 命令行和独立的 nuget.exe 的示例。

包管理器控制台

  1. 要使用 NuGet Visual Studio 扩展中的包管理器控制台,请激活其窗口。 选择 视图 > 其他窗口 > 包管理器控制台,并将输入焦点切换到该窗口。

  2. 选择正确的包源和默认项目。 img

  3. 在命令行提示符处,输入 Install-Package SolaceSystems.Solclient.Messaging 命令:

PM> Install-Package SolaceSystems.Solclient.Messaging
Attempting to gather dependency information for package 'SolaceSystems.Solclient.Messaging.10.0.0' with respect to project 'ConsoleApplication1', targeting '.NETFramework,Version=v4.5'
Attempting to resolve dependencies for package 'SolaceSystems.Solclient.Messaging.10.0.0' with DependencyBehavior 'Lowest'
Resolving actions to install package 'SolaceSystems.Solclient.Messaging.10.0.0'
Resolved actions to install package 'SolaceSystems.Solclient.Messaging.10.0.0'
Adding package 'SolaceSystems.Solclient.Messaging.10.0.0' to folder 'C:\Projects\ ConsoleApplication1\packages'
Added package 'SolaceSystems.Solclient.Messaging.10.0.0' to folder 'C:\Projects\ ConsoleApplication1\packages'
Added package 'SolaceSystems.Solclient.Messaging.10.0.0' to 'packages.config'
Successfully installed 'SolaceSystems.Solclient.Messaging 10.0.0' to ConsoleApplication1

有关更多详细信息,请参阅 Microsoft 包管理器控制台工具页面。

独立nuget.exe

要使用独立的 nuget.exe,您必须将正确的包源作为参数指定。

也可以在 %AppData%\NuGet\NuGet.config 文件中描述源,但这是一种高级包消费选项,仅建议在上述其他方法无法产生预期结果时使用。有关更多详细信息,请参阅 Microsoft 配置 NuGet 行为网页。

如果包源位置是 C:\Projects,命令将是:

C:\Projects\ConsoleApplication1>nuget.exe install SolaceSystems.Solclient.Messaging –Source C:\Projects
Feeds used:
C:\Projects
Attempting to gather dependency information for package 'SolaceSystems.Solclient.Messaging.10.0.0' with respect to project 'C:\Projects\ ConsoleApplication1', targeting 'Any,Version=v0.0'
Gathering dependency information took 14.1 ms
Attempting to resolve dependencies for package 'SolaceSystems.Solclient.Messaging.10.0.0' with DependencyBehavior 'Lowest'
Resolving dependency information took 0 ms
Resolving actions to install package 'SolaceSystems.Solclient.Messaging.10.0.0'
Resolved actions to install package 'SolaceSystems.Solclient.Messaging.10.0.0'
Retrieving package 'SolaceSystems.Solclient.Messaging 10.0.0' from 'C:\Projects'.
Adding package 'SolaceSystems.Solclient.Messaging.10.0.0' to folder 'C:\Projects\ConsoleApplication1'
Added package 'SolaceSystems.Solclient.Messaging.10.0.0' to folder 'C:\Projects\ConsoleApplication1'
Successfully installed 'SolaceSystems.Solclient.Messaging 10.0.0' to C:\Projects\ConsoleApplication1
Executing nuget actions took 198.63 ms
C:\Projects\ConsoleApplication1>

注意,安装命令不会修改项目文件或 packages.config 文件,它只是将包添加到磁盘,但不会更改项目的依赖关系。

要将 SolaceSystems.Solclient.Messaging 添加为依赖项,要么通过 Visual Studio 中的包管理器 UI 或控制台将其添加到项目中,要么修改 packages.config,然后运行安装命令。

有关使用独立 nuget.exe 的更多详细信息,请参阅 Microsoft NuGet CLI 参考网页。