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

nuget - 使用 NuGet 打包和转换源代码

我目前正在做一个小宠物项目,该项目需要一个代码文件并使用 NuGet 部署它。我目前可以使用 $rootnamespace$ 令牌和 .pp 扩展名替换项目中的命名空间,但我很好奇是否有更好的方法。

我的主要抱怨是我必须采用正确构建的代码并将其暂时转换为不再这样做的东西。

有没有办法让我执行这些转换而无需直接更改我的源代码?

0 投票
1 回答
8174 浏览

nuget - 如何使用 MSBuild 任务和目标文件创建 NuGet 包

我正在使用NuGet 2.8.50506.491. 我创建了几个C#带有自定义 Microsoft Build 任务和帮助函数的项目。有一个目标文件。它看起来像这样。

在 Visual Studio 项目文件中,我将BuildPackage属性设置为true

当我构建项目时,nupkg创建了一个。我将扩展名更改为zip并查看了文件的内容。项目的输出在lib/net40文件夹中。因此,当我将此包添加到另一个项目时,它还会添加对这些程序集的引用,这是不需要的,因为此包纯粹用于构建。

如何防止项目输出出现在 lib 文件夹中?

0 投票
1 回答
643 浏览

nuget - 强制 nuget 始终更新依赖项

我希望确保我的 nuget 包始终更新到另一个依赖包的最新版本。无论如何我可以做到这一点吗?

我目前的 nuspec 看起来像

每当这个包出现时,我希望总是更新(如果有更新的话) OverserEngine.Schema包。

0 投票
1 回答
29946 浏览

nuget - 如何将文件夹添加到 nuspec 文件

所以我实际上是在尝试将一个网站项目(不是 Web 应用程序,所以没有 csproj 文件)打包到一个 NuGet 包中,准备好让 Octopus 使用,但我又遇到了一堵砖墙。

我研究过使用 OctoPack,但它不支持网站项目,只支持 Web 应用程序项目。

我现在正在尝试找到一种将文件夹(在我的情况下为网站)添加到 Nuget 包中的方法,但 Nuget 不允许通过命令行执行此操作,对吗?它还需要一个 .csproj 文件!

我也尝试过创建 NuGet 规范文件并将其传递到文件夹中但不可能?

目前我可能不得不使用 NuGet 包资源管理器,但我想编写脚本。

我看过这个问题,但似乎无法处理我的场景 我可以在没有项目文件的情况下创建一个 nuget 包吗

那么有谁知道如何通过命令行最好地将文件夹添加到 NuGet 包!?

0 投票
0 回答
70 浏览

asp.net-mvc - NuGet - 有没有办法让包依赖而不导致它被卸载?

我有一个项目(我是包创建者),它有几个构建,每个构建都依赖于 MVC(Microsoft.AspNet.Mvc、Microsoft.AspNet.Razor 和 Microsoft.AspNet.WebPages)。当我的包安装到一个全新的 MVC 项目中时,一切都按预期工作。

但是,当包被卸载时,它会破坏项目,因为 MVC 被无意中卸载(因为它是一个依赖项),以及它拥有的所有依赖项。当我尝试重新安装这些软件包时,似乎无法获得正确的版本,因为(因为没有 NuGet 日志)我不知道它卸载了哪些版本。

我的包确实取决于这些库是否到位,也就是说,这些库是直接从我的 DLL 引用的。但我不希望我的 NuGet 包卸载它们。

有办法吗?

0 投票
2 回答
1569 浏览

f# - NuGet - 已安装但未找到依赖项

NuGet 包管理器有问题。我发布了我的库(一个类型提供程序,但我认为这并不重要)然后测试它,但它找不到依赖项。完整的错误消息是(为简洁起见,省略了完整的命名空间/名称):

问题是在安装库时,看起来依赖项已正确安装。下载了正确的库,并且没有出现错误。为了解决这个问题,我在 .nuspec 文件中指定了确切的版本,但这并没有改变任何东西。...

通过 NuGet 安装 dotNetRDF,然后手动引用我的预编译 DLL(不通过 NuGet)似乎工作正常。

所以我基本上不知道如何解决甚至调试问题。我很感谢任何指示。

添加有关 .NET 版本号的更多信息,因为我在下面的评论很难阅读:

我按照建议检查了框架版本。我通过查看对象浏览器中的 FrameworkDisplayName 来做到这一点。基本上,我的库使用的是 4.5,而 dotNetRDF 使用的是 4.0。

我切换到 .NET 4.0,但没有任何改变。

  • 我的库 =“.NET Framework 4”
  • dotNetRDF = ".NET 框架 4"
  • HtmlAgilityPack = ".NET 框架 4.5"
  • Newtonsoft.Json = ".NET 框架 4.5"
  • VDS.Common = ".NET Framework 4 客户端配置文件"

我的依赖是dotNetRDF,剩下的是dotNetRDF的依赖。

最新的 NuSpec 文件可以在这里找到。我通过命令nuget pack LITEQ.fsproj -Prop Configuration=Release创建包。

包 id 是LITEQ.RDF

一些附加信息: 该库是一个 F# 项目。我刚刚测试了如果我创建一个控制台项目并通过 NuGet 安装库然后将引用发送到 F# 交互式控制台会发生什么。它实际上在这种情况下有效。

所以感觉通过NuGet安装库后项目配置有问题。

要重现错误,请下载库,打开 UniKo.West.Liteq 命名空间,例如使用 NpqlTypeProvider:

0 投票
4 回答
1743 浏览

c# - 我怎样才能使 dll.config 成为 Nuget 包的一部分

由于 .NET 不支持 dll.config 并且在创建 nuget 包时 dll.config 不是包的一部分。

有没有办法让我将 dll.config 作为 nuget 包的一部分?如果有人使用我的 nuget 包,他们应该在其放置位置同时获得 *.dll 和 *.dll.config 文件

如果可能的话,想要一些建议。

0 投票
1 回答
1235 浏览

nuget - 以编程方式创建 NuGet 包

我正在尝试使用Nuget.core API以编程方式创建一个基本的 NuGet 包以编程方式创建一个基本的 NuGet 包。

首先,我填充 NuSpec 清单文件的元数据和文件字段:

然后我使用包生成器类来创建包并将其保存到我的项目的调试文件夹中:

我已经硬编码了所有源路径、目标路径、包信息和元数据。但由于某种原因,没有创建包。代码运行没有任何错误。

0 投票
2 回答
1423 浏览

nuget - 有没有办法告诉 nuGet 将文件安装到项目中,前提是该文件尚未在项目中?

有没有办法配置 nuGet 包,以便在项目中安装文件,前提是项目中不存在该文件?

具体来说,我的 nuGet 包包含一个自定义配置文件。安装后,用户将对文件进行修改。问题是当用户安装我的 nuGet 包的新版本时配置文件被替换 - 因此,丢失了他们的更改。我想防止这种情况。

0 投票
1 回答
478 浏览

nuget - 使用属性表创建 CoApp 包

我想创建一个 CoApp 包,它只会安装我部门的自定义属性表(目前它们来自 Mercurial 子存​​储库,我们希望摆脱尽可能多的子存储库)。

属性表位于几个目录中:

主要的属性表是build\bsii.props,它具有根据平台和配置导入其余属性表的条件导入。

为了使包正常工作,我需要它包含所有属性表文件夹结构并将主属性表添加bsii.props到项目中。

我尝试了以下 autopkg 脚本:

这确实创建了一个包含所有必需文件的包,但没有为项目配置属性表。

相反,当我使用import_props: ..\build\bsii.props;该包时,它只包含这个单个文件,而且它不会将它安装在项目上,而是由 CoApp 生成的不同的 .props 文件,它没有对我的主要属性表的引用:

如何在包中包含我的所有文件并让包在项目中配置正确的属性表?