我正在使用.net Core 3和Azure函数版本2(Visual Studio 2019和.net framework 4.8)。执行以下函数时,发生异常:
System.Private.CoreLib:执行函数时出现异常:
Microsoft.Extensions.Configuration.AzureAppConfiguration:未能加载文件或程序集“website,Version=2.1.0.0,Culture=neutral,PublicKeyToken= cc7b13ffcd2ddd51”。系统找不到指定的文件。
System.Private.CoreLib:无法加载指定的文件。
请帮帮我
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
<AzureFunctionsVersion>v2</AzureFunctionsVersion>
<DependsOnNETStandard>true</DependsOnNETStandard>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Azure.ServiceBus" Version="4.1.1" />
<PackageReference Include="Microsoft.ApplicationInsights" Version="2.11.0" />
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.ServiceBus" Version="3.2.0" />
<PackageReference Include="Microsoft.IdentityModel" Version="7.0.0" />
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.29" />
<PackageReference Include="NETStandard.Library" Version="2.0.3" />
<PackageReference Include="System.Text.Json" Version="4.6.0" />
</ItemGroup>
<ItemGroup>
<None Include="******.cs" />
<None Include="******.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\************" />
<ProjectReference Include="..\************" />
</ItemGroup>
<ItemGroup>
<None Update="*******/function.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="*******/function.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="host.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="local.settings.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
</None>
</ItemGroup>
</Project>
字符串
4条答案
按热度按时间1cosmwyk1#
这里是否存在任何程序集依赖项?
字符串
这是由组合相依性所造成的问题,但您提供的零件并不恩怨。问题应该出在后面省略的部分。
vbkedwbf2#
Microsoft.Extensions.Configuration.AzureAppConfiguration
在您的. csproj中缺少。你可以在Nuget包中找到它
Microsoft.Extensions.Configuration
然后安装到你的项目中,这样你就应该有另外一行:
字符串
如果你确保所有的程序集都在你的项目中,并且问题仍然存在,那么请检查你的依赖树中的目标平台--例如。AnyCPU。如果我尝试在x64平台上运行Azure Functions v1.0.29,则会出现指定的错误。
z0qdvdin3#
将您的项目.net标准版本更改为2.0,并将.net核心版本升级到3.1,它将正常工作。
功能应用版本:v3
.Net Core:3.1
.Net标准版:2.0
我的azure函数应用程序成功运行在Linux容器上,具有上述配置
jaql4c8m4#
我在我的Azure Functions项目中遇到了类似的情况。我的项目可以很好地构建,但是当通过CLI调用某些函数时,我会得到类似的错误。对我有用的是为有问题的包包含一个包含性的下限引用,如下所示:
字符串
**请特别注意版本控制部分。**包含下限是一个版本范围,指定您的项目可接受的包的最低版本。当你指定一个包含性下限时,你告诉NuGet只恢复等于或大于指定版本的包版本。在我的例子中,向“Microsoft.Extensions.Primitives”包的版本范围添加包含下限解决了这个问题,因为它确保NuGet只恢复7.0.0或更高版本的包。