如何创建和使用ASP.NET vNext的类库NuGet包?

13 浏览
0 Comments

如何创建和使用ASP.NET vNext的类库NuGet包?

我想创建一个ASP.NET vNext类库的NuGet包。我该如何一步一步地操作呢?我知道有kpm build,但我找不到有关从哪里下载kpm的指南等等。

而且,在获取到它的NuGet包(或DLL)之后,我该如何将其从本地机器添加到我的vNext项目中?

admin 更改状态以发布 2023年5月23日
0
0 Comments

从类库创建NuGet包

如果您使用的是Visual Studio 2015 RC或更高版本: 进入您的类库项目属性,打开 生成 选项卡,勾选 生成输出文件 选项:

enter image description here

每次构建项目时NuGet包就会创建在 {SolutionDir}\artifacts\bin\{ProjectName}\{Configuration} 目录下。

如果您使用命令行:

  1. 确保您已安装了 DNVMDNX (请查看 ASP.NET Home repo 的说明)。
  2. 在项目目录中运行 dnu pack。NuGet包默认会创建在 {ProjectDir}\bin\{Configuration} 目录下。

使用打包后的类库

要在同一解决方案的其他项目中使用类库,可以像在Visual Studio中添加常规项目引用或在 project.json 中的 dependencies 属性中添加类库引用:

"dependencies": {
  "ClassLibrary1": ""
}

要在其他解决方案中使用库,请将NuGet包发布到 nuget.org 或任何其他NuGet feed,并使用Visual Studio的 引用 菜单下的 管理NuGet程序包... 或在 project.json 中的 dependencies 属性中添加它。

0
0 Comments

Kpm是新KRuntime的包管理器。如何在开发者机器上安装KRuntime命令行实用工具的说明可以在aspnet Home repo上找到。一旦您安装了kvm并设置好了KRuntime版本,您也将可以使用kpm。

现在您可以在类库项目位置上运行kpm build。输出应该是这样的:

kpm build src\ClassLibrary1\
ClassLibrary1 -> C:\Users\username\Documents\Visual Studio 14\Projects\WebApplication1\src\ClassLibrary1\bin\Debug\ClassLibrary1.1.0.0.nupkg
ClassLibrary1 -> C:\Users\username\Documents\Visual Studio 14\Projects\WebApplication1\src\ClassLibrary1\bin\Debug\ClassLibrary1.1.0.0.symbols.nupkg
Build succeeded.
    0 Warnings(s)
    0 Error(s)
Time elapsed 00:00:01.7556414

向类项目添加引用的最简单方法是在您的project.json中进行操作,假设您在同一解决方案中。以下是一个Web应用程序的示例project.json,其中引用了一个名为ClassLibrary1的类库。

{
    "webroot" : "wwwroot",
    "exclude": "wwwroot/**/*.*",
    "dependencies": {
        "Microsoft.AspNet.Server.IIS": "1.0.0-alpha4",
        "ClassLibrary1": ""
    },
    "frameworks" : {
        "aspnet50" : { },
        "aspnetcore50" : { }
    }
}

如果您想设置NuGet feed,您可以阅读官方NuGet文档以了解如何完成此操作。将kpm build的输出复制到您的NuGet feed中。

注意:VS14 CTP4只与KRuntime的alpha4版本兼容。如果您想在vNext中使用VS14而不会出现错误,您需要将KRuntime降级到1.0.0-alpha4版本。

0