C# 未能解析程序集';Microsoft.AspNetCore.Mvc.Core,版本=3.1.0.0“;在构建Azure功能v3时

C# 未能解析程序集';Microsoft.AspNetCore.Mvc.Core,版本=3.1.0.0“;在构建Azure功能v3时,c#,azure,azure-devops,azure-functions,C#,Azure,Azure Devops,Azure Functions,我有一个Azure功能v3.1 在我的机器(macOS+Visual Studio Mac/Jetbrains Rider)上,无法生成,错误如下: Error : Mono.Cecil.AssemblyResolutionException: Failed to resolve assembly: 'Microsoft.AspNetCore.Mvc.Core, Version=3.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'

我有一个Azure功能v3.1

在我的机器(macOS+Visual Studio Mac/Jetbrains Rider)上,无法生成,错误如下:

Error : Mono.Cecil.AssemblyResolutionException: Failed to resolve assembly: 'Microsoft.AspNetCore.Mvc.Core, Version=3.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'
以下是完整的调用堆栈:

##[error]C:\Users\VssAdministrator\.nuget\packages\microsoft.net.sdk.functions\3.0.9\build\Microsoft.NET.Sdk.Functions.Build.targets(32,5): Error : Mono.Cecil.AssemblyResolutionException: Failed to resolve assembly: 'Microsoft.AspNetCore.Mvc.Core, Version=3.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'
   at Mono.Cecil.BaseAssemblyResolver.Resolve(AssemblyNameReference name, ReaderParameters parameters)
   at Mono.Cecil.BaseAssemblyResolver.Resolve(AssemblyNameReference name)
   at Mono.Cecil.DefaultAssemblyResolver.Resolve(AssemblyNameReference name)
   at Mono.Cecil.MetadataResolver.Resolve(TypeReference type)
   at Mono.Cecil.ModuleDefinition.Resolve(TypeReference type)
   at Mono.Cecil.TypeReference.Resolve()
   at MakeFunctionJson.AttributeExtensions.IsWebJobsAttribute(CustomAttribute attribute)
   at MakeFunctionJson.ParameterInfoExtensions.<>c.<ToFunctionJsonBindings>b__1_0(CustomAttribute a)
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.ToList()
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at MakeFunctionJson.ParameterInfoExtensions.ToFunctionJsonBindings(ParameterDefinition parameterInfo)
   at MakeFunctionJson.MethodInfoExtensions.<>c.<ToFunctionJson>b__6_1(ParameterDefinition p)
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Enumerable.SelectManySingleSelectorIterator`2.ToArray()
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   at MakeFunctionJson.MethodInfoExtensions.ToFunctionJson(MethodDefinition method, String assemblyPath)
   at MakeFunctionJson.FunctionJsonConverter.GenerateFunctions(IEnumerable`1 types)+MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at MakeFunctionJson.FunctionJsonConverter.TryGenerateFunctionJsons()
   at MakeFunctionJson.FunctionJsonConverter.TryRun()
Error generating functions metadata
问题

为什么管道无法建设该项目

更新1

在清理解决方案输出并清理我的计算机上的packages文件夹后,生成也会在我的计算机上失败

更新2

尝试生成Azure函数输出时失败:

2>Target "_GenerateFunctionsPostBuild" in file "/Users/christophe/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets" from project "AccountManager/src/AccountManager/AccountManager.csproj" (entry point):
       Using "GenerateFunctions" task from assembly "/Users/christophe/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/../tools/netcoreapp3.1/Microsoft.NET.Sdk.Functions.MSBuild.dll".
       Task "GenerateFunctions"
         Function generator path: '/usr/local/share/dotnet/dotnet'
         Microsoft.NET.Sdk.Functions.Generator.dll "AccountManager/src/bin/Debug/netcoreapp3.1/bin/AccountManager.dll " "AccountManager/src/bin/Debug/netcoreapp3.1/ " "False "
  
2>/Users/christophe/.nuget/packages/microsoft.net.sdk.functions/3.0.9/build/Microsoft.NET.Sdk.Functions.Build.targets(32,5): error : Mono.Cecil.AssemblyResolutionException: Failed to resolve assembly: 'Microsoft.AspNetCore.Mvc.Core, Version=3.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' [AccountManager/src/AccountManager/AccountManager.csproj]
如果我将以下文件复制到
bin
文件夹中,它会工作:

/usr/local/share/dotnet/packs/Microsoft.AspNetCore.App.Ref/3.1.8/ref/netcoreapp3.1/Microsoft.AspNetCore.Mvc.Core.dll

如果您将[FromQuery]或任何其他属性添加到azure函数“controller signture”中,则可能会发生这种情况,至少发生在我身上的是

在我删除[FromQuery]属性后,它恢复了活力


我找到了一个答案:管道是yaml管道吗?如果是的话,你能把它包括在你的问题中吗?@eli我已经更新了这个问题。清理生成输出后,它在我的机器上也会失败。在输出文件夹中手动复制Microsoft.AspNetCore.Mvc.Core.dll是可行的,但我需要了解为什么…您可以尝试直接添加缺少的包吗
@eli我添加了它,但构建仍然失败:(尝试直接添加软件包,解决方案正在搜索该软件包-
,并直接从Nuget manager安装此版本的Microsoft.AspNetCore.Mvc.Core,它会自动将此行添加到您的解决方案中。
/usr/local/share/dotnet/packs/Microsoft.AspNetCore.App.Ref/3.1.8/ref/netcoreapp3.1/Microsoft.AspNetCore.Mvc.Core.dll