【问题标题】:Error MSB3644: The reference assemblies for framework ".NETFramework,Version=v5.0" were not found错误 MSB3644:找不到框架“.NETFramework,Version=v5.0”的参考程序集
【发布时间】:2020-11-30 19:24:47
【问题描述】:

我在将项目更新到 .Net 5 时使用 azure 管道,但在构建解决方案步骤时出现此错误。

错误 MSB3644:未找到框架“.NETFramework,Version=v5.0”的参考程序集。要解决此问题,请为此框架版本安装 SDK 或 Targeting Pack,或者将您的应用程序重新定位到已安装 SDK 或 Targeting Pack 的框架版本。请注意,程序集将从全局程序集缓存 (GAC) 中解析,并将用于代替引用程序集。因此,您的程序集可能无法正确定位于您想要的框架。

那么我该如何解决这个问题呢?

【问题讨论】:

  • Azure Pipelines 是否支持 .NET 5?
  • 这能回答你的问题吗? Azure CI pipeline for Blazor .NET 5 doesn't work
  • @VladimirSerykh 是 yaml 的,经典编辑器呢?
  • 可能你想要太多全新的 .NET 5 主要版本。我认为它会被更新。但这需要一些时间。如果您想成为 .NET 5 的先驱,您应该准备好应用不同的解决方法。

标签: asp.net-core azure-devops azure-pipelines


【解决方案1】:

支持。

由于您使用的是 .Net 5,而不是使用 Nuget 还原,请尝试将 Use .net core taskDotnet core task 与还原命令一起使用。

- task: UseDotNet@2
  displayName: 'Use .NET Core sdk 5.0.100'
  inputs:
    packageType: 'sdk'
    version: '5.0.100'
    includePreviewVersions: true

- task: DotNetCoreCLI@2
  displayName: 'dotnet restore'
  inputs:
    command: restore
    projects: '**/*.csproj'

强烈建议对以.net core 为目标的项目使用dotnet restoredotnet build 任务。见this statement from Nuget task

也可以在这里查看类似的问题:Azure CI pipeline for Blazor .NET 5 doesn't work

对于经典编辑器,您可以通过相同的方式实现此目的,添加使用 .NET Core 和 .NET Core 任务:

【讨论】:

  • 是的,推荐,但是如果项目使用ssdt项目,你就别无选择使用VSBuild代替dotnet build,但这是另一个问题...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-22
  • 1970-01-01
  • 1970-01-01
  • 2017-12-11
相关资源
最近更新 更多