[添加nuget软件包时不会自动安装依赖项

问题描述 投票:0回答:1

我正在为内部使用创建一个小的nuget程序包(我创建了.NET标准项目以同时使用.NET Framework或.NET Core。我创建了一个构建定义来构建该库,然后将其推送到我公司的Nuget Feeds。

我有2个问题:

  1. 当在tfs 2017中对构建进行排队时,如何设置它自动增加nuget软件包的版本,并且可以为我的软件包设置诸如Author,Company ...之类的信息吗?

  2. 将软件包包含在TFS软件包中之后。我试图将我的nuget包添加到我的项目中。 nuget引用的软件包未自动添加到项目中。我可以看到,它显示为“无依赖项”,但实际上,我在库中使用了2个软件包:Newtonsoft和StackExchange.Redis。因此,当我运行调试时,错误显示为“找不到StackExchange.Redis ...”

很奇怪

No dependencies displayed

在我的Libary项目设置中,我可以看到

Library configuration

tfs package nuget .net-standard build-definition
1个回答
0
投票

有两种打包nuget包的方法。您可以使用“ nuget pack”或“ dotnet pack”(如果您的解决方案中有一些dotnet核心)。区别在于dotnet pack将在nuspec中创建一个依赖项部分,并且您将看到安装默认情况下的nuget pack依赖项,除非您使用实际的nuspec文件。如果确实创建了nuspec文件,则需要在文件中添加依赖项部分,以便在安装时弹出它们。检查here以获取有关nuspec文件的信息。

对于您的版本号,它实际上也位于元数据部分的nuspec文件中,其中包含带有所需版本的标签。 TFS nuget pack任务作为一个下拉列表,您可以用来发送版本号。对于此任务,您可以直接使用nuspec文件,也可以直接使用csproj。

enter image description here

您使用dotnet core任务对dotnet pack拥有相同的选项enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.