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)
...全文
972 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' } } } }
内容概要:本文档详细介绍了光伏储能单相逆变器并网的Simulink仿真模型,重点聚焦于逆变器在并网过程中的动态行为分析与先进控制策略的设计与实现。该模型涵盖主电路结构、PWM调制技术、锁相环(PLL)同步控制、电流环调节等核心环节,并基于Matulink平台完成系统建模与仿真验证,能够有效研究并网电能质量、系统稳定性及控制算法性能。特别地,模型支持在弱电网条件下进行仿真,适用于分析谐波、电压不平衡、电压波动等电能质量问题,同时结合“阻抗建模”与“扫频法”等技术手段,深入探讨并网系统的交互稳定性与振荡机理,具有较强的理论深度与工程应用价值。; 适合人群:具备电力电子、自动控制理论或新能源发电系统基础知识的研究生、科研人员,以及从事光伏逆变器开发、微电网控制与并网稳定性研究的工程技术人员。; 使用场景及目标:①用于高校及科研机构开展光伏并网逆变器控制策略的教学演示与学术研究;②辅助企业工程师进行并网性能测试、控制器参数优化与系统稳定性评估;③支撑VSG控制、构网型变流器、阻抗建模、宽频振荡分析等相关前沿课题的仿真验证与论文复现工作。; 阅读建议:建议在MATLAB/Simulink环境中动手搭建并调试模型,逐步理解各模块功能与参数影响,重点关注控制器设计与系统动态响应之间的关系,并结合文中提及的“正负序阻抗建模”“扫频辨识”等方法深化对并网稳定性的理论认识与实践能力。

479

社区成员

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

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