У меня проблема с тем, что моя функция Azure выдает следующее исключение при локальном запуске.
System.IO.FileNotFoundException: 'Could not load file or assembly 'System.Data.SqlClient,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its
dependencies. The system cannot find the file specified.'
Некоторая информация о моем проекте:
- Функция AzureИнфраструктура таргетинга: .NET 4.6.1
- Пакет Nuget A нацелен на готовую работу: стандарт .NET 1.3.
- Пакет Nuget A также использует пакет B Nuget, который предназначен для инфраструктуры таргетинга: стандарт .NET1.2
- Пакет Nuget B зависит от пакета Nuget System.Data.SqlClient 4.5.1
Так что в моей функции Azure все выглядит хорошо во время компиляции, но когда яперейти к запуску приложения, и я получаю вызов метода в Nuget Package A, я получаю выше исключение.Я замечаю, что если я создаю консольное приложение, предназначенное для платформы .NET 4.6.1, все работает нормально!(в замешательстве).
Так что мне остается верить, что есть какая-то проблема совместимости, вызывающая это при использовании Microsoft.NET.Sdk, но я пока не обнаружил подобной проблемы.
Это .csproj моей функции Azure:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net461</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Dapper" Version="1.50.5" />
<PackageReference Include="Microsoft.ApplicationInsights" Version="2.7.2" />
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.21" />
<PackageReference Include="NugetPackageA" Version="1.0.1.3" />
</ItemGroup>
<ItemGroup>
<Reference Include="Microsoft.CSharp" />
</ItemGroup>
<ItemGroup>
<None Update="host.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="local.settings.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
</None>
</ItemGroup>
</Project>