Функция Azure - System.Data.SqlClient не поддерживается на этой платформе - PullRequest
0 голосов
/ 28 декабря 2018

Я выполняю следующий код insert в своей функции Azure в базе данных Azure SQL Server 2014:

    private static void Command(SqlConnection sqlConnection, string query)
    {
        var sqlCommand = new SqlCommand(query, sqlConnection);

        try
        {
            sqlConnection.Open();
            sqlCommand.ExecuteNonQuery();
        }
        finally
        {
            sqlConnection?.Close();
        }
    }

и получаю следующее исключение:

Система.Data.SqlClient не поддерживается на этой платформе

Вот цепочки зависимостей, которые он использует:

enter image description here

Как мне запустить простую команду sql из моего приложения?Что я делаю не так?

Ответы [ 3 ]

0 голосов
/ 15 января 2019

Если вы используете EF Core, v2.1.4, кажется, работает.

0 голосов
/ 28 июня 2019

Я понизил System.Data.SqlClient до 4.6.0, тогда он заработал для меня

0 голосов
/ 28 декабря 2018

Если вам не нужна последняя стабильная версия 4.6.0, просто вернитесь к 4.5.1.

В противном случае обходной путь - загрузка сборок самостоятельно.Щелкните правой кнопкой мыши на Project Function и Edit <FunctionAppName>.csproj, добавьте элементы ниже, чтобы скопировать связанные сборки в выходной каталог.

  <!-- For publish -->
  <ItemGroup>
    <None Include="$(USERPROFILE)\.nuget\packages\system.data.sqlclient\4.6.0\runtimes\win\lib\netcoreapp2.1\System.Data.SqlClient.dll">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </None>
  </ItemGroup>
  <!-- For local debug -->
  <Target Name="CopyToBin" BeforeTargets="Build">
    <Copy SourceFiles="$(USERPROFILE)\.nuget\packages\system.data.sqlclient\4.6.0\runtimes\win\lib\netcoreapp2.1\System.Data.SqlClient.dll" DestinationFolder="$(OutputPath)\bin" />
  </Target>

Существует проблема , отслеживающая эту ссылку на сборку.

...