我正在为内部使用创建一个小的nuget程序包(我创建了.NET标准项目以同时使用.NET Framework或.NET Core。我创建了一个构建定义来构建该库,然后将其推送到我公司的Nuget Feeds。
我有2个问题:
当在tfs 2017中对构建进行排队时,如何设置它自动增加nuget软件包的版本,并且可以为我的软件包设置诸如Author,Company ...之类的信息吗?
将软件包包含在TFS软件包中之后。我试图将我的nuget包添加到我的项目中。 nuget引用的软件包未自动添加到项目中。我可以看到,它显示为“无依赖项”,但实际上,我在库中使用了2个软件包:Newtonsoft和StackExchange.Redis。因此,当我运行调试时,错误显示为“找不到StackExchange.Redis ...”
很奇怪
在我的Libary项目设置中,我可以看到
有两种打包nuget包的方法。您可以使用“ nuget pack”或“ dotnet pack”(如果您的解决方案中有一些dotnet核心)。区别在于dotnet pack将在nuspec中创建一个依赖项部分,并且您将看到安装默认情况下的nuget pack依赖项,除非您使用实际的nuspec文件。如果确实创建了nuspec文件,则需要在文件中添加依赖项部分,以便在安装时弹出它们。检查here以获取有关nuspec文件的信息。
对于您的版本号,它实际上也位于元数据部分的nuspec文件中,其中包含带有所需版本的标签。 TFS nuget pack任务作为一个下拉列表,您可以用来发送版本号。对于此任务,您可以直接使用nuspec文件,也可以直接使用csproj。