【问题标题】:How to convert a class library project into NuGet package如何将类库项目转换为 NuGet 包
【发布时间】:2019-08-15 05:33:58
【问题描述】:

我们在 .sln 文件中有以下内容。

1.网站项目

2.服务项目

2.Framework ClassLibrary 项目

我们想要创建这个 ClassLibrary 项目的 NuGet 包,该包将用于任何其他项目。 截至目前,网站和服务项目包含对 CL 项目的直接引用,因此第一步是将 CL 项目与网站和服务项目解耦,但如果这样做,我们将在构建网站项目时出现编译时错误。 这是否意味着我们必须在解耦之前更改 CL 项目中的整个代码。

成功解耦后,我们将从解决方案中删除这个 CL 项目,并像 NuGet 包一样引用。

可以按照此链接中的说明创建 NuGet 包 Create NuGet package

【问题讨论】:

  • 1.创建您的类库并将其发布为 Nuget 包。 2. 删除网站项目和服务项目对类库的直接引用。 3.在Website项目和Service项目中安装新创建的Nuget包。 4. 编译。 5. 部署。

标签: .net visual-studio nuget-package nuget-spec


【解决方案1】:

您可以按照以下步骤操作。

  1. 请点击此链接为类库创建一个 nuget 包。 https://docs.microsoft.com/en-us/nuget/quickstart/create-and-publish-a-package-using-visual-studio

  2. 创建 nuget 包后,您可以在共享驱动器位置管理这些包。

  3. 在您的 Visual Studio 中,转到工具 -> nuget 包管理器 -> 包管理器设置 -> 包源。您可以在哪里提供共享云端硬盘网址。以便您的视觉工作室可以在该位置探测任何 nuget 包。

  4. 删除 2 个项目中的现有 dll 引用。右键单击您的 Web/服务项目,然后单击管理 nuget 包。您将与您新创建的包装一起列出,您可以选择和添加它。

不需要任何代码更改

【讨论】:

  • 谢谢,我试试这个方法
  • 这个过程是针对Visual Studio 2017的。如果我们使用的是VS2015,有没有其他方法
【解决方案2】:

1) 创建类库 2) 从属性 > 库选项卡中将目标框架设置为 .NET Standard 1.4

更多帮助请访问此链接https://docs.microsoft.com/en-us/nuget/guides/create-net-standard-packages-vs2015

【讨论】:

  • 打开 NuGet 包资源管理器(github.com/NuGetPackageExplorer/NuGetPackageExplorer/tree/…)时,我在迁移报告中遇到以下错误:PackageExplorer.Package\PackageExplorer.Package.wapproj:找不到此项目类型所基于的应用程序知道为什么项目没有为我加载。我在 VS2015 中打开这个
【解决方案3】:
  1. 首先使用根目录下的 nuget spec 命令创建 nuspec 文件
  2. 从 nuspec 使用 nuget pack 命令从 nuspec 文件所在目录创建 .nupkg

注意:nuget 应该安装您的系统,其他方式安装 nuget.exe 并将其复制到您的项目根目录

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-21
    • 1970-01-01
    • 2011-05-28
    • 2010-10-07
    • 2023-03-15
    • 2015-10-13
    • 1970-01-01
    相关资源
    最近更新 更多