问题标签 [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 回答
119 浏览

nuget - 根据目标项目重命名 nuget 包内容文件

在将我的自定义 Nuget 包安装到目标 cs 项目时,我需要根据目标项目名称重命名一些内容文件。例如,如果目标项目名称是“XYZ.Model”,那么我的 Nuget 包内容文件应该安装为“XYZ.Model.EF.tt”。

任何帮助表示赞赏。

谢谢

0 投票
0 回答
77 浏览

.net - 未记录的 $references$ 替换令牌

根据 NuGet 的 Nuspec 文档,我应该能够使用$references$替换令牌来覆盖引用 \lib 文件夹中所有内容的约定。

$参考$

此元素包含一组元素,每个元素都指定项目将引用的程序集。此元素的存在覆盖了将所有内容拉到 lib 文件夹中的约定。更多信息如下。

来源:http ://docs.nuget.org/create/nuspec-reference#replacement-tokens

有人可以举例说明这个令牌是如何实际使用的吗?

0 投票
1 回答
4163 浏览

nuget - Copy files from a subfolder to root in nuspec

I'm trying to copy a bunch of files from a specific folder into the root of a nuget package. Here's how it looks in my nuspec file:

I want the files under dist/product1 be copied to root of nuget package but instead all files go to dist/product1 folder in nuget file, meaning it preserves the folder structure. I tried many variations. Any ideas?

0 投票
0 回答
995 浏览

msbuild - 如何构建包含 .nuspec 模板文件的 NuGet 包?

我正在尝试为应该包含模板 .nuspec 文件的 MSBuild 扩展创建 NuGet 包。

但是,当我将 .nuspec 文件指定为我的包的内容时,我无法将它安装在目标项目的 .nuget 文件夹中。

正如您在屏幕截图中看到的,它将创建一个 .nuget\NuSpecTemplate.nuspec 文件夹,其中将创建嵌入式 .nuspec 文件。我将模板命名为 .spec,因为如果源文件命名为 .nuspec,NuGet 将忽略它。

这是设计使然,还是 NuGet 中的错误?

截屏

0 投票
1 回答
510 浏览

nuget - 我如何获得一个带有一个 csproj 程序集的二进制 NuGet 包,但一个具有两个 csproj 源的相应源包?

使用非常容易遵循的说明为带有符号服务器的关联源包的程序集构建 NuGet 包,可在 David Ebbo 的博客“发布带有源的 NuGet 包的简单方法”中找到,我确实创建了一对包:二进制和源。

但是,源包不完整,原因是源来自两个类库.csproj,我使用 ILMerge 将第二个的结果合并到第一个中。(*) 因此,使用本文中描述的最小值.nuspec并指向nuget.exe.csproj主”库,二进制包很好,但当然源包只有“主”库的源,而不是库的源被ILMerged到“主”库中。

我该如何解决这个问题(并获取符号包中包含的两个项目的源代码,但只有二进制包中“主”项目的二进制文件)?

仅供参考,实际的nuget.exe命令行是:nuget pack CommandLineLexing.csproj -Build -Symbols -Properties Configuration=Release.

(*) 如果您有兴趣,我这样做的原因是,第二个库是我积累的“C# 实用程序”库的精简版本 - 你知道,一堆扩展方法和其他帮助程序 - 切下来,所以它只有这个特定项目所需的最低限度。因此,由于它已被削减,我不希望它有单独的程序集,这可能最终与完整程序集混淆(具有相同的名称,而不是强名称)。所以我使用 ILMerge 将实用程序方法放入主程序集中(并将它们标记为内部)。

0 投票
1 回答
3357 浏览

asp.net-mvc - 如何从 nuget 更改脚本或样式文件的位置?

我有一个 MVC 项目,我正在使用来自 nuget 的 jquery、bootstrap 和其他一些文件。如您所知,默认情况下,在 mvc 中,所有脚本文件都在Scripts其中,所有 css 文件都在其中。Content我将所有脚本和 css 文件移动到 Content/css , Content/js ,之后我遇到了一个问题,因为当我更新我的 nuget 包时文件将转到默认位置(js => Scripts,css=> Content)。

那么我该如何解决这个问题呢?可能吗 ?

0 投票
1 回答
736 浏览

nuget - NuGet 包不在包管理器搜索结果中

我们有一个拒绝出现在 Visual Studio 中的NuGet 包管理器搜索结果中。搜索Bridge.NET应该返回结果

在此处输入图像描述

最初我们认为这可能只是缓存问题,所以我们等待了几个版本,但问题仍然存在。这是该文件的副本以.nuspec供参考:

如果直接在NuGet.org上进行搜索,则会返回正确的结果。同样,包管理器控制台也没有问题。

任何诊断此问题的帮助将不胜感激。在搜索结果中列出一个包有诀窍吗?

0 投票
1 回答
1287 浏览

visual-studio - 覆盖 .nuspec 中的依赖项

我想通过打包项目文件.csproj而不是.nuspec. 但我也想明确指定依赖关系。

问题是在打包项目文件时(以便我可以使用项目中的道具)<dependencies>.nuspec文件中的内容没有被使用。

我这样做是为了让我可以在一个地方(in AssemblyInfo.cs)更改我的道具,而不必更改.nuspec每个版本。我知道我可以打包我可以.nuspec完全控制的地方,但这已经违背了目的。(我现在实际上正在这样做,直到我可以覆盖依赖项)

有没有办法在.nuspec?

编辑:

结合developmentDependency这一点几乎奏效了。我在 nuspec 中使用依赖组,出于某种原因,nuget 在打包后将其展平(当然仅在打包 csproj 时)。所以这个:(仅用于演示)

变成这样:

因此,当在不同组中使用相同的包作为依赖项时,打包时会出现错误:

An item with the same key has already been added.

0 投票
3 回答
691 浏览

nuget - NuSpec 生成的 NuGet 文件正在解析错误版本的依赖项 - 我该如何强制它执行其他操作?

我为我的 .NET 项目创建了一个 NuSpec 文件,如下所示:

我的项目还有两个 NuGet 提供的依赖项,它们是:

当我使用这个 NuSpec 为我的项目创建 NuGet 包时,NuGet 足够聪明,可以将这些额外的依赖项拉入。当我在新项目中安装我的 NuGet 包时,我也获得了AutofacAutofac.Extras.NLog依赖项,被引用并自动插入到包中.config 用于我的新项目。

但是......我得到的 Autofac 版本是错误的。而不是版本3.5.2我得到版本2.6.1.841

现在,Autofac.Extras.NLog依赖于≥ 2.2.4.900(在撰写本文时)。我有两个问题:

  • 看起来 NuGet 似乎首先Autofac.Extras.NLog通过安装Autofac 2.6.1.841. 当谈到实现我的项目的 Autofac 依赖时,它看到 Autofac 已经安装,因此什么都不做。如何让 NuGet 解析 Autofac 对 version 的依赖3.5.2
  • 即使 NuGet 正在解决“错误”的 NuGet 依赖(至少出于我的目的),为什么它解析为2.6.1.841而不是2.2.4.900,这是Autofac.Extras.NLog依赖项中指定的最低版本?
0 投票
4 回答
2509 浏览

c# - 保证相同版本的nuget包

我们有一个框架,该框架在一个解决方案中分为许多单独的项目。我现在想为每个单独的项目创建NuGet包,但要保证在一个解决方案中只能使用一个版本的框架(可能跨多个项目)。

例如,假设框架由两个项目组成:

现在,当使用这个框架时,一个项目可能会引用Framework_1,而另一个项目会引用Framework_2。我想确保两个软件包具有相同的版本(如果有一个简单的单步过程可以升级到新版本,则可以加分)

我想我只会定义一个解决方案级别的框架包,所有其他包都严格依赖它。问题是NuGet只需安装几个版本的解决方案级别包就没有问题。

基本上我尝试了以下方法:

解决方案级nuspec文件:

一个nuspec包用于一部分:

现在的问题是,如果我尝试安装,假设另一个My.Framework.EF具有版本1.0.1和显式依赖于My.Framework1.0.1的软件包Visual Studio只会安装My.Framework两次 - 一次是 1.0.0 版,一次是 1.0.1 版。