问题标签 [nuget-spec]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
236 浏览

xml - MSBuild:如何通过 xpath 更新 xml

我正在尝试寻找解决方案,如何使用 MSBuild 脚本更新 nuspec xml 中的发行说明。

现在我已经使用 XmlUpdate 创建了 MSBuild 目标:

这可以正常工作,但前提是 Nuspec 文件已经包含条目。

如何处理根本不存在 releaseNotes 的文件?我可以以某种方式从 xpath 获取数字,如果它为零,则使用另一个函数进行 xml 更新?

PS:来自 MSBuildTasks 的 NuGetPack 扩展不适用于包元数据。

0 投票
1 回答
981 浏览

nuget - .nu​​spec 中 NuGet 包描述中的超链接

我正在开发一个 NuGet 包并在 github.com 上保持开源

安装后我的包需要在 VS 解决方案中完成一些配置步骤,我将其记录在 github 上的 README.md 文件中。

我想在 NuGet 包中引用这个 README.md 文件,以便人们知道包安装后要做什么。

我在.nuspec<projectUrl>文件中指定了指向我在 github 上的 Git 存储库。但是对于用户来说,他们需要单击它来阅读文档并不明显。

我想让用户按照链接阅读完整文档的声音清晰明了。最好有一个超链接,例如在.nuspec<description>文件的字段中,因此它在以下位置显示为超链接:

  • nuget.org 上的项目页面
  • 浏览\安装包时在 Visual Studio 中显示的包详细信息

我尝试了不同的方法来添加链接,例如 XML 转义<>as &lt;&gt;但它不会将其显示为链接,而只是显示为 html 文本。

0 投票
0 回答
91 浏览

nuget - 我可以在 NuGet 包中包含文件,但仅在直接安装包时(而不是作为依赖项)?

我想创建一个 NuGet 包,其中包含添加到安装包的项目中的文件。到目前为止,一切都很简单。

但是,我也想从该项目创建一个 NuGet 包。并将其安装到第三个项目。有什么办法可以避免将第一个项目中的文件添加到第三个项目中?

这是设置:

Acme.Doxygen - “第一个包” - 为 doxygen 生成设置目标项目

Acme.MyToolLibrary - “第二个包” - 我想在此处导入 Acme.Doxygen,以便使用 Doxygen 记录该项目。Acme.Doxygen 将文件“Doxyfile”添加到该项目的根目录。

Acme.MyWebSite - “第三个包” - 我想在这个项目中安装 MyToolLibrary,但是这个项目对 Doxygen 不感兴趣。

问题:当我在 Acme.MyWebSite 中安装 Acme.MyToolLibrary 时,Doxyfile 被添加到 Acme.MyWebSite 的根目录中。我的网站对 Doxygen 不感兴趣,我不希望这种情况发生。

为了避免 Acme.MyWebSite 依赖于 Acme.Doxygen,我在 Acme.MyToolLibrary 的 packages.config 文件中对 Acme.Doxygen 的引用设置了 'developmentDependency="true"'。这很好用——Acme.MyWebSite 不依赖于 Acme.Doxygen。但是 - 如何配置我的 NuGet 包,以便相同的逻辑适用于我的 NuGet 包中包含的 Doxyfile?

0 投票
2 回答
1829 浏览

nuget - 私有 Nuget 服务器:我在 Nuget 包资源管理器中看不到我的包

我按照 Microsoft 官方指南创建私有 Nuget 服务器。一切似乎都正常,我可以从浏览器中看到我的包提要,我可以从 Visual Studio 包管理器中看到我的包。但是,当我尝试从 Nuget Package Explore 推送、读取或创建新包时,如这里解释的那样,似乎 atom 提要还没有开始。我收到以下错误“处理 Atom 结果时找不到预期的属性‘已发布’”

注意我前段时间使用以前版本的 Nuget 包资源管理器创建了这个包。你认为我应该用新版本重新创建所有包吗?我希望不是。

0 投票
12 回答
132375 浏览

nuget - 无法安装软件包“--”。您正在尝试将此包安装到以 '.NETFramework,Version=v4.5' 为目标的项目中

我创建了这个包,我在项目中需要它但无法安装它,出现此错误:

无法安装软件包“Mshwf.NiceLinq 1.0.9”。您正在尝试将此包安装到以“.NETFramework,Version=v4.5”为目标的项目中,但该包不包含任何与该框架兼容的程序集引用或内容文件。有关更多信息,请联系包作者

我不知道为什么会发生这种情况,在另一个项目(控制台)中我将框架更改为 4.6 和其他版本,这不是问题,但这仅发生在这个项目(MVC 和 Web API)中:

这是 nuspec 文件:

0 投票
1 回答
88 浏览

nuget - Nuget 在错误的平台文件夹中解压程序集

我创建了一个简单的 nuget 包,其中包含一个位于 lib\net40 下的程序集。

如果我解压缩 nuget 包,我可以验证该程序集确实存在于 lib\net40 下。

现在,当我使用 Visual Studio Nuget UI 在我的 .net 项目中安装这个包时,程序集会被解压到错误的文件夹中。它没有像我期望的那样在 packages\my_package\lib\net40 下解包,而是在 packages\my_package\lib\ net20下解包。

该程序集是一个 .net-2.0 库,因此您可能会争辩说我的 Nuget 包是错误的,但这是预期的和记录的行为,或者还有什么可能是该程序集没有像我预期的那样在 net40 下解包的原因?

0 投票
1 回答
2494 浏览

.net - 在nuget中定位多个框架的最简单方法?

我创建了一个库,它使用:泛型、扩展方法和Func委托。 Func委托是库中 .NET(3.5 版)的最新功能。当我将它发布到 nuget 时,该项目的目标是 .NET 版本 4.5.2,但是当我尝试将它安装到目标版本 4.5 的项目中时,它失败了。

如何确保将包安装在任何面向 .NET 3.5 及更高版本的项目上,我应该将库中的目标框架更改为 3.5 还是应该使用目录约定,并为每个框架创建单独的 dll,解释在这里:

支持多个 .NET 框架版本

0 投票
0 回答
343 浏览

c# - 在单个 .net 核心包中发布多个程序集

我正在尝试为 .NET Core发布我的库 ( lz4net )。库“架构”与“普通”略有不同,因为它包含多个程序集,但只应引用一个程序集,其他只是它的依赖项。虽然它们不是单独的包。

因此,程序集LZ4.dll应该被应用程序引用,而不应该被引用LZ4pn.dll,它应该在那里,因为LZ4.dll(主要的)可以使用它。`LZ4pn.dll" 不能单独使用,因此它不作为单独的包发布。

它似乎在:net2、net4 和 pcl 中运行良好,但LZ4pn.dll如果应用程序没有引用它,netcore 不会“看到”它。

注意:我已经检查并且C:\Users\xxx\nuget\packages\lz4net\1.0.11.93\lib\netstandard1.6(在安装 .nupkg 之后)确实包含这两个程序集。

因此,LZ4pn.net不在<references>部分中,因为它不应该被应用程序直接引用。它不在<dependencies>部分中,因为它不是需要单独下载的外部依赖项。它就在那里 - 在netstandard1.6nuget 包的子文件夹中。.NET Framework (2+) 工作正常,但 .NET Core 未发现此程序集。

有什么帮助吗?也许您知道一些使用相同方法的开源包(仅引用顶级组件的多组件包)?

0 投票
1 回答
684 浏览

c# - nuget 包 dll 或源文件

我是 nuget 包发布的新手。

正在进行的项目是一个 dot net core 应用程序,它是一个开源项目。

我了解这两个选项content以及lib指定target分发文件时的情况。

因为到目前为止,我还无法将 dll 连接到 mac 上的 .net 核心 Web 应用程序,并且研究表明该选项是提供可用于安装/部署的源代码。

其次,桌面上的用户可以使用提供的程序集 dll 开发他们的项目。

问题是,

  1. 用户可以选择要获得什么吗?dll还是源文件?

  2. 我是否必须为每个 netstandard、netcore、net 和 uap 创建一个单独的程序集?

我希望为所有上述平台提供程序集(首选)或源代码。二进制文件本身具有一些不调用任何平台特定代码的功能,我们假设它是嵌入在 DLL 中的 HelloWorld 类。

图片来自https://blogs.msdn.microsoft.com/dotnet/2016/09/26/introducing-net-standard/

在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
705 浏览

xamarin.android - 无法使用 project.json 将 nuget 添加到 xamarin.android 项目

我尝试将 nuget 包 MPAndroidChart ( https://www.nuget.org/packages/MPAndroidChart/3.0.1 ) 添加到我的 android 项目中。但我总是收到这样的信息:

当我使用默认的 packages.config 创建一个新项目时,它可以添加项目。有什么我可以用 nuspec 或我的项目来调整的吗?

我的项目.json: