Función Azure - System.Data.SqlClient no es compatible con esta plataforma -- # campo con azure campo con .net-core campo con azure-functions camp Relacionados El problema

Azure Function - System.Data.SqlClient is not supported on this platform


13
vote

problema

Español

Estoy ejecutando el siguiente código insert dentro de My Azure Función en una base de datos 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();         }     }   

y obteniendo la siguiente excepción:

system.data.sqlclient no es compatible con esta plataforma

Aquí están las cadenas de dependencias que está utilizando:

ingrese la descripción de la imagen aquí

¿Cómo ejecuto un simple comando SQL de mi aplicación? ¿Qué estoy haciendo mal?

Original en ingles

I'm running the following insert code within my azure function into an azure sql server 2014 database:

    private static void Command(SqlConnection sqlConnection, string query)     {         var sqlCommand = new SqlCommand(query, sqlConnection);          try         {             sqlConnection.Open();             sqlCommand.ExecuteNonQuery();         }         finally         {             sqlConnection?.Close();         }     } 

and getting the following exception:

System.Data.SqlClient is not supported on this platform

Here are the chains of dependencies it's using:

enter image description here

How do I run a simple sql command from my app? What am I doing wrong?

           
 
 

Lista de respuestas

20
 
vote
vote
La mejor respuesta
 

Si no necesita la última versión estable 4.6.0 , simplemente vuelva a 4.5.16 funcionaría.

De lo contrario, la solución es cargar los asambleos por nuestra cuenta. Haga clic derecho en el proyecto de función y Edit <FunctionAppName>.csproj , agregue los elementos a continuación para copiar los ensamblajes relacionados a la salida.

    <!-- For publish -->   <ItemGroup>     <None Include="$(USERPROFILE).nugetpackagessystem.data.sqlclient4.6.0 untimeswinlib etcoreapp2.1System.Data.SqlClient.dll">       <CopyToOutputDirectory>Always</CopyToOutputDirectory>     </None>   </ItemGroup>   <!-- For local debug -->   <Target Name="CopyToBin" BeforeTargets="Build">     <Copy SourceFiles="$(USERPROFILE).nugetpackagessystem.data.sqlclient4.6.0 untimeswinlib etcoreapp2.1System.Data.SqlClient.dll" DestinationFolder="$(OutputPath)in" />   </Target>   

Hay una problema seguimiento de este problema de referencia de ensamblaje.

 

If you don't need the latest stable version 4.6.0, simply revert to 4.5.1 would work.

Otherwise the workaround is to load the assemblies on our own. Right click on Function project and Edit <FunctionAppName>.csproj, add items below to copy related assemblies to output dir.

  <!-- 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> 

There's an issue tracking this assembly reference problem.

 
 
   
   
3
 
vote

Tengo degradado el sistema.data.sqlClient a 4.6.0, luego funcionó para mí

 

I have downgrade the System.Data.SqlClient to 4.6.0 then it worked for me

 
 
   
   
3
 
vote

Me encontré con esto con una instancia de funciones de Azure que de alguna manera se había configurado para usar .NET CORE 3.0.0. Cambié la configuración de configuración FUNCTIONS_EXTENSION_VERSION a partir de =iferror(vlookup(H2,IF((D$4:D$28="Irata Level 1"+(E$4:E$9="Irata Level 2")=1,C$4:D$28,""),2,FALSE),"Not Required") 0 A =iferror(vlookup(H2,IF((D$4:D$28="Irata Level 1"+(E$4:E$9="Irata Level 2")=1,C$4:D$28,""),2,FALSE),"Not Required") 11111 . Después de que lo reinicié, volví a usar 2.0.x y este error se fue.

 

I just ran into this with an Azure Functions instance that had somehow been configured to use .NET Core 3.0.0. I changed the configuration setting FUNCTIONS_EXTENSION_VERSION from beta to ~2. After I restarted it, it went back to using 2.0.x and this error went away.

 
 
3
 
vote

En mi caso, se resolvió esto cambiando la versión 3 a 2 en función de functionppsettings en Azure's FunchApp

 

in my case i got resolved this by changing runtime version 3 to 2 under FunctionAppSettings in Azure's FunctionApp

 
 
0
 
vote

Si está utilizando EF Core, v2.1.4 parece funcionar.

 

If you're using EF Core, v2.1.4 seems to work.

 
 

Relacionados problema

0  Función de Azure para enrutar el mensaje a la cola abastecida en los datos de mensajes  ( Azure function to route message to queue namebased on message data ) 
Estoy buscando escribir una función de Azure que toma en un mensaje de Iothub y lo coloca en una cola de autobuses de servicio basada en datos en el mensaje. ...

1  Marco sin servidor con funciones de Azure  ( Serverless framework with azure functions ) 
Estoy escribiendo servicios con Travel Date: Travel | START DATE | END DATE T | 2011 01 04 | 2011 12 11 Black Out Dates: BO | START DATE | END DATE A...

2  No se puede ejecutar COSMOSDB TRABAJAR LOCALMENTE CON FUNCTION AZURE HERRAMIENTAS CORE  ( Unable to run cosmosdb trigger locally with azure function core tools ) 
Estoy tratando de ejecutar una función Azure localmente en mi computadora portátil con las funciones de Azure Herramientas básicas. Observe que esta función e...

-1  ¿Cómo copiar los archivos de tamaño específico de un recipiente de blob a otro contenedor de blob?  ( How to copy files of specific size from one blob container to another blob conta ) 
¿Hay alguna forma de copiar archivos de tamaño específico (como el tamaño de los archivos de mayor o menor que 100 MB) de una mancha a otro contenedor de blob...

11  Las funciones de Azure cómo agregar configuraciones de la aplicación a los enlaces  ( Azure functions how to add application settings to bindings ) 
Estoy tratando de agregar una vinculación personalizada utilizando la configuración de mi aplicación para mi función Azure. Necesito recibir solo una cadena d...

1  La aplicación Azure Function no está activando mientras se llama desde la aplicación web desplegada  ( Azure function app is not triggering while calling from deployed web app ) 
He creado una función de Azure HTTPtrigger e intentando acceder a ella de mi aplicación web Azure. Tanto la aplicación web como la función Azure pertenecen al...

0  ¿Cómo obtener el marco de las funciones de Azure Identificación de solicitud generada?  ( How to get azure functionss framework generated request id ) 
Cada vez que estoy depurando de mis funciones de Azure (localmente) Luego invocando una función, la CLI (FUNC.EXE) siempre muestra requestId como uno de los...

0  Funciones de Azure Singleton en el disparador del temporizador ... Ejecución del procedimiento almacenado  ( Azure functions singleton on timer trigger executing stored procedure ) 
Tenemos funciones de Azure que ejecutan el procedimiento almacenado cada 2 segundos. La mayor parte del tiempo del 90% del tiempo, el procedimiento almacenado...

0  Funciones de Azure Múltiples con AzureWebJobStorage Aplicación de la configuración, ¿el mismo KeyVault?  ( Multiple azure functions with azurewebjobstorage app setting same keyvault ) 
Tengo dos funciones de Azure compartiendo un solo KeyVault. Ambas funciones usan KeyVault Referencias en local.settings.json en lugar de secretos de texto...

1  Funciones de Azure - Obtener registros por el nombre del atributo  ( Azure functions get records by attribute name ) 
He creado una aplicación de función para recuperar los registros de la tabla Azure SQL DB (tabla de préstamos). La aplicación de función funciona bien. Quiero...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos