问题标签 [nuspec]

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 投票
0 回答
560 浏览

icons - NuGet 包图标未更新

我们使用 Team city 作为内部 NuGet 存储库。我在我的 nuspec 文件中添加了一个图标 url,并将图标文件放在启用了内容浏览的 IIS 上。该图标显示在 Visual Studio 的 NuGet 管理器中。

现在我想更新图标,所以我想我只需要更新 IIS 上的图标,但图标没有更新。我也尝试过通过Team city构建新版本的包,但是图标没有更新。

是否正在进行某种缓存?什么时候从 url 中检索到图标?是在包装上还是包管理器?

0 投票
0 回答
52 浏览

c# - 限制 .nuspec 中的包依赖项(例如,'< 0.7' 不起作用)

我有两个 c# 库:

  • 主库
  • 依赖库(在 0.6 和 0.7 版本中发布)

在 .nuspec 中定义了以下内容:

根据Nuget 版本控制的文档,这应该将依赖库限制为 0.6 版。检查 Nuget.org 列表给出以下信息:

完全符合预期。尽管如此,Visual Studio 还是建议将依赖库更新到 0.7,并且毫不犹豫地这样做了。我曾经设法在类似的情况下遇到错误,给出一条消息说包限制阻止我进行更新,这就是我想要的。我在这里错过了什么吗?

0 投票
1 回答
187 浏览

nuget - 为什么 Nuget 不包括/查找 beta 版本

我在 nuspec 中有一个像这样定义的“Bbb”的依赖项

为“Aaa”构建和部署 Aaa 7.5.0-beta498 的 beta 版本

为“Bbb”构建和部署 Bbb 3.0.0-beta5 的 beta 版本

但是当我尝试将 nuget 包“Bbb”安装到第三个项目(“Ccc”)中时,我收到了这条消息

找不到与“Bbb 3.0.0-beta5 约束:Aaa (≥ 7.5.0 && < 7.5.1)”兼容的“Aaa”版本。

为什么?我已经在 Nuget 包管理器中检查了包含 PreRelease。包含 nuspec 预发布的语法是什么?

0 投票
0 回答
1479 浏览

msbuild - 来自 csproj 的 Nuget 包现有构建

在我的 CI 构建中,我有 MSBuild,它将 Release 构建输出到.\.output\_Build文件夹中;在这种情况下,这个文件夹有我想打包成 nupkg 的 exe。

当我执行时:

BasePath是 中的文件OutputPathmsbuild -OutputPath。我得到:

这似乎表明 nuget 从 csproj 读取了 Debug 配置的 OutputDirectory 并且正确地找不到任何要打包的东西。我认为该-BasePath参数会告诉它在哪里寻找工件,但看起来情况并非如此。使用 csproj 文件进行打包时,如何告诉 nuget 不要遵循 csproj 中的路径?我必须使用 csproj 文件进行打包。

0 投票
2 回答
322 浏览

c# - 非传递包依赖?

我有一个依赖于另一个包 Y 的包 X。默认情况下(Visual Studio 2015 Upd3 + nuget 3.5)任何引用包 X 的项目也将参考包 Y 进行更新。问题是,X 的客户根本不需要参考 Y,因为包 Y 的 API 不是也不应该暴露给客户。

因此,预期的行为如下:添加对包 X 的引用后,包 Y 的内容应在构建时复制到输出文件夹中,但包 Y 不应添加到项目引用中。

有什么办法吗?

从理论上讲,我们可以将基础设施包 Y 的源代码包含到我们的项目 X 中(这两个项目都是 MIT 许可下的开源项目),但我更愿意使用或多或少的标准方法。

我们需要它的案例示例:

  • 我们现在正在调查的案例:带有测试助手的 nuget 包,可确保 PDB 文件与源文件匹配(参考Microsoft.DiaSymReader包)。我们不希望我们所有的测试项目都引用Microsoft.DiaSymReader程序集。

  • 或多或少是理论上的一个(目前不是问题,但如果项目将投入生产将是一个问题):使用 Roslyn 编译和运行脚本的自定义脚本引擎。我们不希望在将使用我们的脚本引擎的所有项目中都引用 Roslyn 程序集。

后一种情况更糟糕,因为我们不能将 roslyn 源代码合并到我们的项目中,显然,也不能将 roslyn 二进制文件作为我们包的一部分分发。

欢迎任何建议!

0 投票
1 回答
2937 浏览

nuget - 如何在 nuspec 中指定特定于配置的文件夹

我见过的示例使用相对于 nuspec 文件位置的路径指定要包含的文件,例如:

有没有办法指定它,它会根据我的构建配置使用适当的源目录:即:

  • bin\Debug 如果我使用 -Prop Configuration=Debug 打包
  • bin\Release 如果我使用 -Prop Configuration=Release 打包
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 投票
1 回答
1524 浏览

nuget - 调用 Nuget 包时 nuspec 中的子元素无效

当我跑

命名空间“ http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd ”中的元素“元数据”在命名空间“ http://schemas.microsoft.com/packaging/ ”中具有无效的子元素“ packageSourceUrl2010/07/nuspec.xsd '。预期的可能元素列表:命名空间“ http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd ”中的“contentFiles、frameworkAssemblies、references、developmentDependency、language、releaseNotes” 。

我了解该元素无效且不在 xsd 中。

我的 nuspec 文件中有 2 个元素在metadata创建 nupkg 时会产生错误:

如何避免架构出现此错误?

0 投票
2 回答
3094 浏览

.net - 将 .net 框架依赖项添加到 nuspec 文件

我有以下nuspec文件:

有了这个,我创建了 nuget 包,但是当我尝试在另一个项目上安装它时,我收到了错误:

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

那么我需要在我的nuspec文件中添加什么以使其与 .net 4.6 项目兼容?