为什么Azure Functions运行时找不到我的DLL?

o2g1uqev  于 2023-04-07  发布在  其他
关注(0)|答案(1)|浏览(162)

我正在尝试运行Azure函数,但在部署时遇到以下错误--

Microsoft.Azure.WebJobs.Script: Error building configuration in an external startup class. 
System.Private.CoreLib: Could not load file or assembly '<MyAssembly>, Version=1.0.0.0, 
Culture=neutral, PublicKeyToken=null'.

但是我的部署是成功的,我可以在App Files中看到DLL。我在Functions v4.0上运行C# / .net 6.0,并使用部署中心生成的GitHub Workflow操作进行部署。
什么会导致运行库无法看到主函数DLL?
添加应用程序文件的图像:

我的项目包引用:

<ItemGroup>
    <PackageReference Include="Azure.Identity" Version="1.8.2" />
    <PackageReference Include="Azure.Security.KeyVault.Secrets" Version="4.5.0" />
    <PackageReference Include="Azure.Storage.Blobs" Version="12.15.1" />
    <PackageReference Include="Cosmonaut" Version="2.11.3" />
    <PackageReference Include="Cosmonaut.ApplicationInsights" Version="2.1.1" />
    <PackageReference Include="Cosmonaut.Extensions.Microsoft.DependencyInjection" Version="2.3.0" />
    <PackageReference Include="Cosmonaut.NestedQueries" Version="2.11.4" />
    <PackageReference Include="Microsoft.Azure.AppConfiguration.AspNetCore" Version="6.0.0" />
    <PackageReference Include="Microsoft.Azure.Functions.Extensions" Version="1.1.0" />
    <PackageReference Include="Microsoft.Azure.Services.AppAuthentication" Version="1.6.2" />
    <PackageReference Include="Microsoft.Azure.WebJobs.Extensions.SendGrid" Version="3.0.3" />
    <PackageReference Include="Microsoft.Azure.WebJobs.Extensions.Storage" Version="5.1.1" />
    <PackageReference Include="Microsoft.CodeAnalysis.NetAnalyzers" Version="7.0.1">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.Extensions.Azure" Version="1.6.3" />
    <PackageReference Include="Microsoft.Extensions.Hosting" Version="7.0.1" />
    <PackageReference Include="Microsoft.NET.Sdk.Functions" Version="4.1.3" />
  </ItemGroup>
xqkwcwgp

xqkwcwgp1#

Microsoft.Azure.WebJobs.Script:在外部启动类中生成配置时出错。System.Private.CoreLib:未能加载文件或程序集“,Version=1.0.0.0,Culture=neutral,PublicKeyToken= null”。
此错误表示运行库无法加载函数的程序集。这可能是由于一些原因,如文件路径不正确或函数名称不正确。请检查以下步骤是否有助于解决此问题:
1.验证错误消息中的程序集名称和版本是否与App Files文件夹中的程序集名称和版本匹配。如果不匹配,则可能需要重新生成项目并重新部署它。
1.检查程序集是否位于App Files文件夹中的正确位置。它应该位于bin文件夹中,该文件夹位于函数应用的根目录中。
1.检查程序集是否与您的函数的运行时版本兼容,并检查您的函数应用程序是否配置为使用Azure Portal中的正确运行时版本。

1.检查您的GitHub Workflow操作是否正确配置以部署您的函数应用程序。确保它正在部署所有文件都部署到正确的位置。

  • 我已经在我的环境中复制了相同的内容,并且它正在工作,没有任何问题,如下所示:*
    DLL文件:

我还注意到你在Microsoft.Azure.WebJobs.Script应用程序中使用的包已经被弃用了。

相关问题