Azure функция v2, Core 3.1 Не удалось загрузить файл или сборку System.Memory, версия = 4.2.0.0 - PullRequest
1 голос
/ 03 февраля 2020

Я локально запускаю Azure функцию v2 на Core 3.1. Функция подключается, читает события из EventHub и записывает данные в базу данных Redis. Хотя функция подключения получает ошибку

System.Private.CoreLib: Exception while executing function: 
 One or more errors occurred. (Could not load file or assembly 'System.Memory, Version=4.2.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The system cannot find the file specified.). 
 Pipelines.Sockets.Unofficial: Could not load file or assembly 'System.Memory, Version=4.2.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The system cannot find the file specified. System.Private.CoreLib: Could not load the specified file.

Тот же код подключения Redis работает нормально, как и ожидалось, за пределами функции Azure.

Я установил пакет nuget System.Memory v 4.5.3 в проект но это не помогает. В Nuget для Core 3.1

нет версии System.Memory версии 4.2, в которой используется функция запуска

[assembly: FunctionsStartup(typeof(...))]

Файл проекта

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <AzureFunctionsVersion>v2</AzureFunctionsVersion>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.Azure.Functions.Extensions" Version="1.0.0" />
    <PackageReference Include="Microsoft.Azure.WebJobs.Extensions.EventHubs" Version="4.1.0" />
    <PackageReference Include="Microsoft.NET.Sdk.Functions" Version="3.0.3" />
    <PackageReference Include="System.ComponentModel.Annotations" Version="4.7.0" />
    <PackageReference Include="System.Memory" Version="4.5.3" />
    <PackageReference Include="Utf8Json" Version="1.3.7" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\..\Configuration\Configuration.csproj" />
  </ItemGroup>
  <ItemGroup>
    <None Update="host.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
    <None Update="local.settings.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
      <CopyToPublishDirectory>Never</CopyToPublishDirectory>
    </None>
  </ItemGroup>
</Project>

Что не так?

Ответы [ 2 ]

1 голос
/ 04 февраля 2020

Проблема была устранена путем изменения версии функции Azure на v3 в файле проекта .csproj.

  <PropertyGroup>
    <TargetFramework>netcoreapp3.1</TargetFramework>
    <AzureFunctionsVersion>v3</AzureFunctionsVersion>
  </PropertyGroup>
0 голосов
/ 03 февраля 2020

Можете ли вы попытаться добавить true в ваш файл .csproj:

 <PropertyGroup>
    ...
    <UseNETCoreGenerator>true</UseNETCoreGenerator>
  </PropertyGroup>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...