Kzr*_*tof 6 c# azure azure-devops azure-functions
我有一个 Azure Function 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'
Run Code Online (Sandbox Code Playgroud)
这是完整的调用堆栈:
##[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
Run Code Online (Sandbox Code Playgroud)
这是我的内容csproj
(我遵循了有关 AspNetCore 3.1的建议):
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<AzureFunctionsVersion>v3</AzureFunctionsVersion>
<LangVersion>latest</LangVersion>
<Nullable>enable</Nullable>
<RootNamespace>AccountManager</RootNamespace>
<AssemblyName>AccountManager</AssemblyName>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<OutputPath>../bin\Debug\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<OutputPath>../bin\Release\</OutputPath>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="8.0.1" />
<PackageReference Include="Microsoft.Azure.Functions.Extensions" Version="1.0.0" />
<PackageReference Include="Microsoft.Azure.Management.Storage" Version="17.2.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="3.1.7" />
<PackageReference Include="Microsoft.Extensions.Http" Version="3.1.7" />
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="3.0.9" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
<PackageReference Include="NoSuchCompany.Diagnostics.Guards" Version="1.0.71" />
</ItemGroup>
<ItemGroup>
<None Update="host.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="local.settings.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
</None>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Core\Core.csproj" />
</ItemGroup>
<ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)
题
为什么管道无法构建项目?
更新 1
清理解决方案输出并清理我机器上的包文件夹后,我的机器上的构建也失败了。
更新 2
尝试生成 Azure Functions 输出时失败:
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]
Run Code Online (Sandbox Code Playgroud)
如果我将以下文件复制到文件bin
夹中,它会起作用:
/usr/local/share/dotnet/packs/Microsoft.AspNetCore.App.Ref/3.1.8/ref/netcoreapp3.1/Microsoft.AspNetCore.Mvc.Core.dll
Run Code Online (Sandbox Code Playgroud)
如果您将 [FromQuery] 或任何其他属性添加到您的天蓝色函数“控制器签名”中,则可能会发生这种情况,至少发生在我身上的事情......
在我删除 [FromQuery] 属性后,它又恢复了生机。
我找到了这个答案:https://github.com/Azure/azure-functions-vs-build-sdk/issues/435#issuecomment-656854953
归档时间: |
|
查看次数: |
910 次 |
最近记录: |