.net core TeamCity.NET CLI(dotnet)还原不包括正确版本的深度依赖项库

.net core TeamCity.NET CLI(dotnet)还原不包括正确版本的深度依赖项库,.net-core,dependencies,teamcity,restore,.net Core,Dependencies,Teamcity,Restore,Visual Studio解决方案(.sln)上的.NET(CLI)还原生成步骤 其中一个Visual Studio项目(.csproj)具有以下依赖项链: swashback.AspNetCore.4.0.1swashback.AspNetCore.SwaggerUI.4.0.1Newtonsoft.Json.11.0.2 但是在发布文件夹中创建的唯一工件是:` TeamCity Professional 2019.1.2 (build 66342) Windows 10 .NET Core

Visual Studio解决方案(.sln)上的.NET(CLI)还原生成步骤

其中一个Visual Studio项目(.csproj)具有以下依赖项链:

swashback.AspNetCore.4.0.1
swashback.AspNetCore.SwaggerUI.4.0.1
Newtonsoft.Json.11.0.2

但是在
发布
文件夹中创建的唯一工件是:`

TeamCity Professional 2019.1.2 (build 66342)
Windows 10
.NET Core 2.2.0
在我的本地开发环境中,如果我从解决方案文件夹运行
dotnet restore MySolution.sln
,我会看到预期的包被拉到用户缓存中:

C:\Users\myuser\.nuget\packages\newtonsoft.json\11.0.2

通过目视检查,我搜索了我的解决方案的依赖关系树,没有找到任何对
.NET标准版本的引用。是否有一个工具可以使这成为一个更严格的搜索


为什么
TeamCity Build Agent
会将
.NET Standard
版本作为依赖项,而不是“netcoreapp2.2”版本?

从命令行运行解决方案文件的
dotnet restore
命令时,会得到不同的结果吗?TeamCity似乎只是在这里调用
dotnet
命令……dotnet restore MySolution.sln将包拉到
Users\MyUser\.nuget\newtonsoft.json.11.0.2
文件夹。奇怪的是,只有在
TeamCity Build Agent上才会拉取错误的版本。可能TeamCity Agent也会这样做,但会拉到另一个缓存目录。当TeamCity代理在LocalSystem帐户下像windows服务一样运行时,您可以在目录
%windir%\SysWOW64\config\systemprofile\AppData\Local\nuget\cache
%windir%\System32\config\systemprofile\AppData\Local\nuget\cache
中找到nuget缓存。尝试更改TeamCity代理服务的此帐户,您将在相关缓存中找到相应的包。TeamCity代理只运行那里的命令行
dotnet…
,因此没有任何魔力。此主题“依赖项资产”:可能有用
Newtonsoft.Json.dll v9.0.1
Json.NET .NET Standard 1.0
9.0.1.19813
Json.NET
9.0.1