【发布时间】:2019-02-13 00:11:40
【问题描述】:
我们有一个 Azure 函数应用。运行时版本为 2。有时此命令在我们的构建服务器上失败(Jenkins 在 Windows Server 上运行):
dotnet publish C:\temp\OurFunctionApp.csproj -c Release -o C:\temp\output
错误:
C:\Users\user1.nuget\packages\microsoft.azure.webjobs.script.extensionsmetadatagenerator\1.0.1\build\Microsoft.Azure.WebJobs.Script.ExtensionsMetadataGenerator.targets(20,5):错误:元数据一代失败。 [C:\temp\OurFunctionApp.csproj]
当我从命令行运行此命令时,它总是可以正常工作。
我们的构建服务器上没有安装 Visual Studio。
如何诊断和修复此错误?
.csproj 文件:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
<AzureFunctionsVersion>v2</AzureFunctionsVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.ApplicationInsights" Version="2.8.1" />
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.EventHubs" Version="3.0.1" />
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.24" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Project1\Project1.csproj" />
<ProjectReference Include="..\Project2\Project2.csproj" />
<ProjectReference Include="..\Project3\Project3.csproj" />
<ProjectReference Include="..\Project4\Project4.csproj" />
</ItemGroup>
<ItemGroup>
<None Update="ourlist.txt">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="host.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="local.settings.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
</None>
</ItemGroup>
</Project>
【问题讨论】:
-
这种情况只是偶尔发生?可以分享一下你的函数 csproj 文件吗?
-
@brettsam 是的,只是偶尔。我在我的问题中添加了 .csproj 文件的内容。
-
奇怪 - 昨天中午,完全相同的事情开始在我们的构建服务器上发生。也是断断续续的。我猜可能有五分之一的构建,Azure Function 应用程序都错误并带有相同的消息
Metadata generation failed。 -
啊,我们的构建服务器上没有安装 Visual Studio。
-
对于关注此问题的任何人——您可以使用我们最新的 SDK 包再试一次吗? nuget.org/packages/Microsoft.NET.Sdk.Functions/1.0.26。你得到同样的东西吗?
标签: azure .net-core azure-functions