c# – ‘dotnet build’命令找不到nuget包(它们存在)

weixin_38087592 2019-09-12 01:45:00
我正在尝试从Jenkins服务器上的命令行构建我的.NET Core 2.1应用程序. 它在我的本地机器(Windows 10,VS2017 Enterprise)上构建良好,如果我在服务器上手动构建它,Jenkins正在运行(手动检出git存储库并运行dotnet构建).只有当我通过Jenkins在docker容器中执行它才会失败. 错误:/usr/share/dotnet/sdk/2.1.403/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(198,5):错误NETSDK1064:软件包Microsoft.CodeQuality.Analyzers,版本2.6.2不是找到.自NuGet恢复以来,它可能已被删除.否则,NuGet还原可能只是部分完成,这可能是由于最大路径长度限制. [/var/lib/jenkins/jobs/pr-builder/jobs/cgi-api/branches/PR-18/workspace/API/API.csproj] 该包存在于〜/ .nuget / packages /中. 我知道我的Jenkinsfile目前有点奇怪,但这与我试图让这一切都有效.似乎dotnet恢复工作正常,但dotnet构建不知何故找不到这些文件. 我已经尝试指定包目录(通过env var,使用dotnet restore –sources和dotnet build –sources. 我现在附上了几乎我能想到的任何东西,但是如果我忘记了什么,请告诉我.我此刻迷失了. 我的jenkins文件: pipeline { agent { docker { image 'microsoft/dotnet:2.1-sdk' } } environment { HOME = '.' NUGET_PACKAGES = './.nuget/packages/' } stages { stage('pre-build') { steps { // logging tooling versions sh 'dotnet --info' sh 'find ~/.nuget/packages/microsoft.codequality.analyzers/ -type f' sh 'dotnet nuget locals all --list' sh 'dotnet restore' // sh 'dotnet clean' } } stage('build') { steps { // sh 'dotnet restore --force --no-cache' // sh 'ls ./packages/' // sh 'find ./packages/microsoft.codequality.analyzers/ -type f' sh 'dotnet build --no-restore' } } stage('test') { steps { sh 'no test project configured' // sh 'dotnet test' } } } } 我的.csproj <Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>netcoreapp2.1</TargetFramework> </PropertyGroup> <ItemGroup> <Folder Include="wwwroot\" /> </ItemGroup> <ItemGroup> <PackageReference Include="Microsoft.AspNetCore.App" /> <PackageReference Include="Microsoft.CodeAnalysis.FxCopAnalyzers" Version="2.6.2"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference> </ItemGroup> <PropertyGroup> <CodeAnalysisRuleSet></CodeAnalysisRuleSet> <Features>IOperation</Features> </PropertyGroup> </Project> 一些构建细节: $docker --version Docker version 18.06.1-ce, build e68fc7a 在docker容器内: $dotnet --info .NET Core SDK (reflecting any global.json): Version: 2.1.403 Commit: 04e15494b6 Runtime Environment: OS Name: debian OS Version: 9 OS Platform: Linux RID: debian.9-arm Base Path: /usr/share/dotnet/sdk/2.1.403/ Host (useful for support): Version: 2.1.5 Commit: 290303f510 .NET Core SDKs installed: 2.1.403 [/usr/share/dotnet/sdk] .NET Core runtimes installed: Microsoft.AspNetCore.All 2.1.5 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All] Microsoft.AspNetCore.App 2.1.5 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.NETCore.App 2.1.5 [/usr/share/dotnet/shared/Microsoft.NETCore.App] $find ./.nuget/packages/microsoft.codequality.analyzers/ -type f ./.nuget/packages/microsoft.codequality.analyzers/2.6.2/analyzers/dotnet/vb/Microsoft.CodeQuality.VisualBasic.Analyzers.dll ./.nuget/packages/microsoft.codequality.analyzers/2.6.2/analyzers/dotnet/vb/Microsoft.CodeQuality.Analyzers.dll ./.nuget/packages/microsoft.codequality.analyzers/2.6.2/analyzers/dotnet/cs/Microsoft.CodeQuality.Analyzers.dll ./.nuget/packages/microsoft.codequality.analyzers/2.6.2/analyzers/dotnet/cs/Microsoft.CodeQuality.CSharp.Analyzers.dll ./.nuget/packages/microsoft.codequality.analyzers/2.6.2/.signature.p7s ./.nuget/packages/microsoft.codequality.analyzers/2.6.2/ThirdPartyNotices.rtf ./.nuget/packages/microsoft.codequality.analyzers/2.6.2/build/Microsoft.CodeQuality.CSharp.Analyzers.props ./.nuget/packages/microsoft.codequality.analyzers/2.6.2/build/Microsoft.CodeQuality.VisualBasic.Analyzers.props ./.nuget/packages/microsoft.codequality.analyzers/2.6.2/build/Microsoft.CodeQuality.Analyzers.props ./.nuget/packages/microsoft.codequality.analyzers/2.6.2/rulesets/DesignRulesEnabled.ruleset ./.nuget/packages/microsoft.codequality.analyzers/2.6.2/rulesets/DocumentationRulesDefault.ruleset ./.nuget/packages/microsoft.codequality.analyzers/2.6.2/rulesets/PerformanceRulesDefault.ruleset ./.nuget/packages/microsoft.codequality.analyzers/2.6.2/rulesets/UsageRulesDefault.ruleset ./.nuget/packages/microsoft.codequality.analyzers/2.6.2/rulesets/ReliabilityRulesDefault.ruleset ./.nuget/packages/microsoft.codequality.analyzers/2.6.2/rulesets/MaintainabilityRulesDefault.ruleset ./.nuget/packages/microsoft.codequality.analyzers/2.6.2/rulesets/SecurityRulesDefault.ruleset ./.nuget/packages/microsoft.codequality.analyzers/2.6.2/rulesets/PerformanceRulesEnabled.ruleset ./.nuget/packages/microsoft.codequality.analyzers/2.6.2/rulesets/MaintainabilityRulesEnabled.ruleset ./.nuget/packages/microsoft.codequality.analyzers/2.6.2/rulesets/UsageRulesEnabled.ruleset ./.nuget/packages/microsoft.codequality.analyzers/2.6.2/rulesets/DocumentationRulesEnabled.ruleset ./.nuget/packages/microsoft.codequality.analyzers/2.6.2/rulesets/ReliabilityRulesEnabled.ruleset ./.nuget/packages/microsoft.codequality.analyzers/2.6.2/rulesets/AllRulesEnabled.ruleset ./.nuget/packages/microsoft.codequality.analyzers/2.6.2/rulesets/NamingRulesEnabled.ruleset ./.nuget/packages/microsoft.codequality.analyzers/2.6.2/rulesets/AllRulesDisabled.ruleset ./.nuget/packages/microsoft.codequality.analyzers/2.6.2/rulesets/SecurityRulesEnabled.ruleset ./.nuget/packages/microsoft.codequality.analyzers/2.6.2/rulesets/DesignRulesDefault.ruleset ./.nuget/packages/microsoft.codequality.analyzers/2.6.2/rulesets/NamingRulesDefault.ruleset ./.nuget/packages/microsoft.codequality.analyzers/2.6.2/rulesets/AllRulesDefault.ruleset ./.nuget/packages/microsoft.codequality.analyzers/2.6.2/microsoft.codequality.analyzers.2.6.2.nupkg.sha512 ./.nuget/packages/microsoft.codequality.analyzers/2.6.2/microsoft.codequality.analyzers.2.6.2.nupkg ./.nuget/packages/microsoft.codequality.analyzers/2.6.2/microsoft.codequality.analyzers.nuspec ./.nuget/packages/microsoft.codequality.analyzers/2.6.2/tools/uninstall.ps1 ./.nuget/packages/microsoft.codequality.analyzers/2.6.2/tools/install.ps1 $dotnet nuget locals all --list info : http-cache: ./.local/share/NuGet/v3-cache info : global-packages: ./.nuget/packages/ info : temp: /tmp/NuGetScratch info : plugins-cache: ./.local/share/NuGet/plugins-cache $dotnet restore Restoring packages for /var/lib/jenkins/jobs/pr-builder/jobs/cgi-api/branches/PR-18/workspace/API/API.csproj... Restore completed in 13.5 sec for /var/lib/jenkins/jobs/pr-builder/jobs/cgi-api/branches/PR-18/workspace/API/API.csproj. $dotnet build --no-restore Microsoft (R) Build Engine version 15.8.169+g1ccb72aefa for .NET Core Copyright (C) Microsoft Corporation. All rights reserved. /usr/share/dotnet/sdk/2.1.403/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(198,5): error NETSDK1064: Package Microsoft.CodeQuality.Analyzers, version 2.6.2 was not found. It might have been deleted since NuGet restore. Otherwise, NuGet restore might have only partially completed, which might have been due to maximum path length restrictions. [/var/lib/jenkins/jobs/pr-builder/jobs/cgi-api/branches/PR-18/workspace/API/API.csproj] Build FAILED. /usr/share/dotnet/sdk/2.1.403/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(198,5): error NETSDK1064: Package Microsoft.CodeQuality.Analyzers, version 2.6.2 was not found. It might have been deleted since NuGet restore. Otherwise, NuGet restore might have only partially completed, which might have been due to maximum path length restrictions. [/var/lib/jenkins/jobs/pr-builder/jobs/cgi-api/branches/PR-18/workspace/API/API.csproj] 0 Warning(s) 1 Error(s)
...全文
966 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38108829 2019-09-12
  • 打赏
  • 举报
回复
我通过指定dotnet构建应该查找NuGet包的位置来解决这个问题.在图像中它没有看到正确的位置(虽然我不确定它在哪里看……) 我用–packages选项指定了位置.此选项在dotnet还原文档中列出,但在dotnet构建文件中没有列出,即使它在那里也可用(特别是你需要它). 您可以按如下方式指定它: dotnet restore --packages <path> 和 dotnet build --packages <path> 如果需要,它也可以使用–no-restore选项. 我的最终Jenkins文件如下所示: pipeline { agent { docker { image 'microsoft/dotnet:2.1-sdk' } } environment { HOME = '.' } stages { stage('pre-build') { steps { // logging tooling versions sh 'dotnet --info' sh 'dotnet nuget locals all --list' sh 'dotnet clean' } } stage('build') { steps { sh 'dotnet build --packages ./.nuget/packages' } } stage('test') { steps { sh 'echo no test project configured' // sh 'dotnet test' } } } }
内容概要:本文针对复杂威胁环境下多无人机的协同路径规划问题,提出一种基于多段杜宾斯(Dubins)路径的优化方法,旨在实现高动态、高风险场景中无人机群的安全、高效与协同飞行。研究充分考虑无人机的实际飞行约束,如最小转弯半径与连续曲率要求,采用杜宾斯曲线构建平滑且符合动力学特性的路径段,并结合优化算法对多机路径进行协同规划,有效规避静态威胁区域与动态障碍物,避免飞行器间发生碰撞。方案在Matlab平台上完成仿真验证,结果表明该方法能够在城市、军事等复杂环境中实现多无人机系统的路径最短化、能耗最低化、安全性最大化与实时性兼顾的多目标优化,具有较强的工程应用潜力。; 适合人群:具备无人机控制、路径规划或智能优化算法基础的科研人员与工程技术人员,特别适用于自动化、航空航天、机器人及相关领域的研究生、高校教师及工业界研发人员。; 使用场景及目标:①应用于复杂城市、战场等高威胁环境下的多无人机协同任务,如侦察监视、应急救援、集群打击与编队巡航;②为解决多无人机系统中的动态避障、冲突消解、路径平滑与资源协同分配等关键技术问题提供理论依据与算法实现参考;③帮助研究人员深入理解Dubins路径在多智能体协同运动规划中的建模方式与优化机制,推动其在无人系统自主导航中的实际落地。; 阅读建议:建议读者结合提供的Matlab代码深入研读算法实现流程,重点分析威胁建模策略、多机冲突协调机制以及多目标代价函数的设计思路,可通过调整环境参数与优化权重在仿真中观察路径生成效果,从而加深对协同决策、运动学约束与全局优化之间耦合关系的理解。

477

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧