【问题标题】:Creating nuget packages in Visual Studio 2017在 Visual Studio 2017 中创建 nuget 包
【发布时间】:2018-04-06 08:20:26
【问题描述】:

Visual Studio 2017 中,我有一个针对 netcoreapp2.0 的 C# 类库。这是一个csproj 类型的项目。我已经安装了 nuget v4.5

我想从该库生成 nuget 包。在项目属性中,我填写了相关的包信息。我跟着this guide 设置了一切。

当我单击该项目的打包命令时,项目会重新生成,但不会生成任何 nupgk。输出是这样的:

1>----- 构建开始:项目:DuDiKiCommon,配置:调试 任何 CPU ------ 1>DuDiKiCommon -> E:\repositories\DuDiKiCommon\DuDiKiCommon\bin\Debug\netcoreapp2.0\DuDiKiCommon.dll ========== 构建:1 成功,0 失败,0 最新,0 跳过 ==========

我可能在这里遗漏了什么?

【问题讨论】:

  • 确保在配置包属性后保存项目。什么是完整的输出?将 nuget.exe 的路径添加到 PATH 后,请确保重新启动 Visual Studio。
  • @RamiA。是的,我已经完成了所有这些。更新了问题以包含我得到的输出。
  • 您能否确定您的项目类型是类库(.NET Core)而不是测试项目或 ASP.NET Core 项目?你能在新的类库(.NET Core)项目中重现这个问题吗?如果没有,请分享有关您的项目的更多信息,或者您可以与我们分享一个测试示例项目。

标签: c# visual-studio-2017 nuget nuget-package


【解决方案1】:

您可以使用dotnet pack -c Release 或(在开发人员命令提示符中)msbuild /restore /t:Pack /p:Configuration=Release 来触发 .nupkg 生成。

您不需要 nuget.exe。

在这种特定情况下,对xunit 的依赖将项目标记为测试项目,默认情况下不可打包。

改用xunit.extensibility.core 包来提供辅助逻辑或在.csproj 文件中设置:

<PropertyGroup>
  <IsPackable>true</IsPackable>
</PropertyGroup>

更多详情请见this GitHub issue

【讨论】:

  • dotnet pack -c Release 也没有生成任何 .nupkg。使用msbuild 命令,我收到以下错误(不幸的是德语):error MSB4057: Das Ziel "Release" ist im Projekt nicht vorhanden.
  • 在项目目录中?您也可以将 csproj 文件作为参数传递。
  • 是的,我在 csproj 所在的根目录中。此外,这里是一个 bin/Release/netcoreapp2.0 目录,其中包含已编译的源代码。
  • omg 对不起,我在错误的地方写了发布。目标是“打包”,配置属性是发布(更新的答案)。 “dotnet pack”命令应该也能正常工作
  • 它的作用相同:输出显示项目已编译,但没有生成任何包。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-12
  • 1970-01-01
  • 2017-04-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-20
相关资源
最近更新 更多