【问题标题】:Linux: Unable to find fallback package folder 'C:\Program Files\dotnet\sdk\NuGetFallbackFolder'Linux:找不到回退包文件夹“C:\Program Files\dotnet\sdk\NuGetFallbackFolder”
【发布时间】:2020-02-25 12:18:11
【问题描述】:

我有一个使用 Dotnet Core Web API V3.1 构建的示例 Ocelot 网关服务。我已经使用“dotnet clean and dotnet build”在 Windows 机器上构建了解决方案,效果很好。我试图通过 Jenkins 在 Ubuntu 18.04 LTS 机器上做同样的事情,这导致了以下问题。

/usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018: The "ResolvePackageAssets" task failed unexpectedly. [/var/lib/jenkins/workspace/GatewaySample_SERVICE/GatewaySample/GatewaySample.csproj]
/usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018: NuGet.Packaging.Core.PackagingException: Unable to find fallback package folder 'C:\Program Files\dotnet\sdk\NuGetFallbackFolder'. [/var/lib/jenkins/workspace/GatewaySample_SERVICE/GatewaySample/GatewaySample.csproj]
/usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at NuGet.Packaging.FallbackPackagePathResolver..ctor(String userPackageFolder, IEnumerable`1 fallbackPackageFolders) [/var/lib/jenkins/workspace/GatewaySample_SERVICE/GatewaySample/GatewaySample.csproj]
/usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.NET.Build.Tasks.NuGetPackageResolver.CreateResolver(IEnumerable`1 packageFolders) [/var/lib/jenkins/workspace/GatewaySample_SERVICE/GatewaySample/GatewaySample.csproj]
/usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.NET.Build.Tasks.NuGetPackageResolver.CreateResolver(LockFile lockFile) [/var/lib/jenkins/workspace/GatewaySample_SERVICE/GatewaySample/GatewaySample.csproj]
/usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.NET.Build.Tasks.ResolvePackageAssets.CacheWriter..ctor(ResolvePackageAssets task) [/var/lib/jenkins/workspace/GatewaySample_SERVICE/GatewaySample/GatewaySample.csproj]
/usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.NET.Build.Tasks.ResolvePackageAssets.CacheReader.CreateReaderFromDisk(ResolvePackageAssets task, Byte[] settingsHash) [/var/lib/jenkins/workspace/GatewaySample_SERVICE/GatewaySample/GatewaySample.csproj]
/usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.NET.Build.Tasks.ResolvePackageAssets.CacheReader..ctor(ResolvePackageAssets task) [/var/lib/jenkins/workspace/GatewaySample_SERVICE/GatewaySample/GatewaySample.csproj]
/usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.NET.Build.Tasks.ResolvePackageAssets.ReadItemGroups() [/var/lib/jenkins/workspace/GatewaySample_SERVICE/GatewaySample/GatewaySample.csproj]
/usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.NET.Build.Tasks.ResolvePackageAssets.ExecuteCore() [/var/lib/jenkins/workspace/GatewaySample_SERVICE/GatewaySample/GatewaySample.csproj]
/usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.NET.Build.Tasks.TaskBase.Execute() [/var/lib/jenkins/workspace/GatewaySample_SERVICE/GatewaySample/GatewaySample.csproj]
/usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() [/var/lib/jenkins/workspace/GatewaySample_SERVICE/GatewaySample/GatewaySample.csproj]
/usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost taskExecutionHost, TaskLoggingContext taskLoggingContext, TaskHost taskHost, ItemBucket bucket, TaskExecutionMode howToExecuteTask) [/var/lib/jenkins/workspace/GatewaySample_SERVICE/GatewaySample/GatewaySample.csproj]
     1>Done Building Project "/var/lib/jenkins/workspace/GatewaySample_SERVICE/GatewaySample/GatewaySample.csproj" (Clean target(s)) -- FAILED.

Build FAILED.

       "/var/lib/jenkins/workspace/GatewaySample_SERVICE/GatewaySample/GatewaySample.csproj" (Clean target) (1) ->
       (ResolvePackageAssets target) ->
         /usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018: The "ResolvePackageAssets" task failed unexpectedly. [/var/lib/jenkins/workspace/GatewaySample_SERVICE/GatewaySample/GatewaySample.csproj]
       /usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018: NuGet.Packaging.Core.PackagingException: Unable to find fallback package folder 'C:\Program Files\dotnet\sdk\NuGetFallbackFolder'. [/var/lib/jenkins/workspace/GatewaySample_SERVICE/GatewaySample/GatewaySample.csproj]
       /usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at NuGet.Packaging.FallbackPackagePathResolver..ctor(String userPackageFolder, IEnumerable`1 fallbackPackageFolders) [/var/lib/jenkins/workspace/GatewaySample_SERVICE/GatewaySample/GatewaySample.csproj]
       /usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.NET.Build.Tasks.NuGetPackageResolver.CreateResolver(IEnumerable`1 packageFolders) [/var/lib/jenkins/workspace/GatewaySample_SERVICE/GatewaySample/GatewaySample.csproj]
       /usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.NET.Build.Tasks.NuGetPackageResolver.CreateResolver(LockFile lockFile) [/var/lib/jenkins/workspace/GatewaySample_SERVICE/GatewaySample/GatewaySample.csproj]
       /usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.NET.Build.Tasks.ResolvePackageAssets.CacheWriter..ctor(ResolvePackageAssets task) [/var/lib/jenkins/workspace/GatewaySample_SERVICE/GatewaySample/GatewaySample.csproj]
       /usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.NET.Build.Tasks.ResolvePackageAssets.CacheReader.CreateReaderFromDisk(ResolvePackageAssets task, Byte[] settingsHash) [/var/lib/jenkins/workspace/GatewaySample_SERVICE/GatewaySample/GatewaySample.csproj]
       /usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.NET.Build.Tasks.ResolvePackageAssets.CacheReader..ctor(ResolvePackageAssets task) [/var/lib/jenkins/workspace/GatewaySample_SERVICE/GatewaySample/GatewaySample.csproj]
       /usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.NET.Build.Tasks.ResolvePackageAssets.ReadItemGroups() [/var/lib/jenkins/workspace/GatewaySample_SERVICE/GatewaySample/GatewaySample.csproj]
       /usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.NET.Build.Tasks.ResolvePackageAssets.ExecuteCore() [/var/lib/jenkins/workspace/GatewaySample_SERVICE/GatewaySample/GatewaySample.csproj]
       /usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.NET.Build.Tasks.TaskBase.Execute() [/var/lib/jenkins/workspace/GatewaySample_SERVICE/GatewaySample/GatewaySample.csproj]
       /usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() [/var/lib/jenkins/workspace/GatewaySample_SERVICE/GatewaySample/GatewaySample.csproj]
       /usr/share/dotnet/sdk/3.1.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018:    at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost taskExecutionHost, TaskLoggingContext taskLoggingContext, TaskHost taskHost, ItemBucket bucket, TaskExecutionMode howToExecuteTask) [/var/lib/jenkins/workspace/GatewaySample_SERVICE/GatewaySample/GatewaySample.csproj]

请让我知道我在这里缺少什么?

注意:我有另一台 linux 机器,我有相同的设置(但 Dotnet Core V2.2),我可以通过 Jenkins 构建 API。

PS:以下是来自.csproj的内容

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <RootNamespace>GatewaySample_SERVICE</RootNamespace>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="IdentityServer4.AccessTokenValidation" Version="3.0.1" />
    <PackageReference Include="Ocelot" Version="14.0.11" />
  </ItemGroup>

</Project>

【问题讨论】:

  • .NET Core 3.x doesn't use a NuGet Fallback folder。那台构建机器可能离线吗?正如该问题的答案所解释的那样,您必须使其在线并至少恢复一次
  • PS:你的csproj是什么样子的?
  • @PanagiotisKanavos感谢您的回复。机器在线。下面是我的 csproj 文件。 &lt;Project Sdk="Microsoft.NET.Sdk.Web"&gt; &lt;PropertyGroup&gt; &lt;TargetFramework&gt;netcoreapp3.1&lt;/TargetFramework&gt; &lt;RootNamespace&gt;GatewaySample_SERVICE&lt;/RootNamespace&gt; &lt;/PropertyGroup&gt; &lt;ItemGroup&gt; &lt;PackageReference Include="IdentityServer4.AccessTokenValidation" Version="3.0.1" /&gt; &lt;PackageReference Include="Ocelot" Version="14.0.11" /&gt; &lt;/ItemGroup&gt; &lt;/Project&gt;
  • 在问题本身中发布此内容
  • 只是补充一点,这仍然是 .NET 5.0 的问题

标签: jenkins .net-core jenkins-pipeline visual-studio-2019 ubuntu-18.04


【解决方案1】:

从 Windows 环境迁移到 WSL 环境时,我遇到了类似的问题。
我没有在项目文件中找到对丢失目录的任何引用,因此我在整个项目目录层次结构中搜索了备用插件文件夹引用,并仅在 bin/ 和 obj/ 文件夹中找到它。
从项目中删除所有 bin/ 和 obj/ 文件夹后,我能够在 WSL 下构建它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-17
    • 2014-05-10
    • 1970-01-01
    相关资源
    最近更新 更多