无法使用Jenkins构建.NET Framework解决方案。
我遇到了一个错误,它说:
我尝试过:
在第3步提到的构建步骤之前,需要先还原包。现在在Jenkins中使用的命令是
配置路径和(离线)包位置如下:
NuGet 配置文件:
我遇到了一个错误,它说:
CSC:error CS0006:元数据文件“..\packages\Microsoft.CodeAnalysis.Analyzers.1.1.0\analyzers\dotnet\cs\Microsoft.CodeAnalysis.Analyzers.dll”无法找到[C:\Users\...\.jenkins\workspace\...\My.Site.csproj]
。它包括一个主项目和另外两个项目(API和Tests),所有项目都针对.NET Framework 4.5.2。API项目曾经是NuGet包,因为当我尝试更新CodeAnalysis堆栈时,我会得到如下提示:无法解析依赖项'Api.For.MySite'。使用的来源:'nuget.org'、'Microsoft Visual Studio离线包'、'Package source'
我尝试过:
- 设置
NUGET_PACKAGES
变量,使用Windows方式以及Jenkins EnvIject插件,将其设置为C:\NugetCache
/C:\Windows\system32\config\systemprofile\.nuget\packages
,如此处所述。 - 为API本身创建NuGet包,但没有运气。
我的配置如下:
- Jenkins 2.361.2,安装了最新的插件(MSBuild和git)
- 存储库是本地的:“file://C:/.../MySite”
/p:Platform=AnyCPU;Configuration=Debug;PublishDestination="C:\inetpub\wwwroot\MySite (mysite.Site.com)" /restore
- 我使用的MSBuild位于
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\amd64
。
还能尝试什么?Jenkins需要读和写吗?当前文件只读属性旁边的框已被选中。隐藏文件夹属性未选中,这是可以接受的。
2022年10月24日更新:在第3步提到的构建步骤之前,需要先还原包。现在在Jenkins中使用的命令是
/t:restore /p:RestorePackagesConfig=true;SolutionDir="${WORKSPACE}"
。现在出现了以下错误:C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\NuGet\NuGet.targets(132,5): error : Unable to find version 'X.Y.Z.W' of package 'MyPackage'. [C:\Users\user.name\.jenkins\workspace\mySite\mySite.csproj] C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\NuGet\NuGet.targets(132,5): error : C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\: Package 'MyPackage.X.Y.Z.W' is not found on source 'C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\'. [C:\Users\user.name\.jenkins\workspace\mCloud\mySite\mySite.csproj] C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\NuGet\NuGet.targets(132,5): error : https://api.nuget.org/v3/index.json: Package 'MyPackage.X.Y.Z.W' is not found on source 'https://api.nuget.org/v3/index.json'。
配置路径和(离线)包位置如下:
NuGet 配置文件:
C:\Windows\system32\config\systemprofile\AppData\Roaming\NuGet\NuGet.Config
C:\Program Files (x86)\NuGet\Config\Microsoft.VisualStudio.FallbackLocation.config
C:\Program Files (x86)\NuGet\Config\Microsoft.VisualStudio.Offline.config
C:\Users\user.name\Desktop\MyPackageFolder
(我的软件包在这里)https://api.nuget.org/v3/index.json
C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\
(我的软件包也在这里)
其中一个软件包是针对.NET框架4的。我也按照相同的nuget软件包文件夹/文件结构制作了'MyPackage',但仍然没有成功。
还有两个额外的软件包,在Jenkins控制台输出中给我带来了相同的错误,但项目如果没有安装这两个软件包也可以(重新)构建。
我注意到的一件事是上述nuget软件包(至少其中一个)是针对框架4而不是4.5.2,但这仍然不能解释为什么只有在Jenkins中会出现问题,而在Visual Studio中则没有。
我承认现在我面临的问题非常混乱,但我不知道该去哪里或者现在该做什么或如何以最高效的方式恢复。
MyPackageFolder
和/或Microsoft SDKs\NuGetPackages
中的?你从哪里获取这个包?Jenkins CI代理在构建之间是否被清除?你能否在HTTP服务器上设置私有NuGet源,而不需要将包复制到解决方案构建所在的每台机器上?这个问题似乎非常特定于你的设置,因此很难给出通用的解决建议。 - zivkan