Sto cercando di spostare alcune funzionalità in Funzioni di Azure. Creato un progetto per il codice EF Core 2 e fatto riferimento al progetto Funzioni di Azure. Aggiunti i pacchetti di nugget EF Core + SQLServer al progetto Funzioni di Azure. Quando la funzione tenta di eseguire, questo è gli errori nella schermata. Posso vedere che l'assembly Microsoft.EntityFrameworkCore si trova nella stessa directory della nostra dll delle funzioni di azzurro.
Qualcuno può far luce sul motivo per cui non lo trova e come risolvere questo problema?
[1/3/2018 6:49:56 AM] A ScriptHost error has occurred
[1/3/2018 6:49:56 AM] Exception while executing function: Accounting. AS.Jobs: Could not load file or assembly 'Microsoft.EntityFrameworkCore, Version=2.0.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. Could not find or load a specific file. (Exception from HRESULT: 0x80131621). System.Private.CoreLib: Could not load file or assembly 'Microsoft.EntityFrameworkCore, Version=2.0.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'.
[1/3/2018 6:49:56 AM] Exception while executing function: Accounting
[1/3/2018 6:49:56 AM] Exception while executing function: Accounting. AS.Jobs: Could not load file or assembly 'Microsoft.EntityFrameworkCore, Version=2.0.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. Could not find or load a specific file. (Exception from HRESULT: 0x80131621). System.Private.CoreLib: Could not load file or assembly 'Microsoft.EntityFrameworkCore, Version=2.0.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'.
[1/3/2018 6:49:56 AM] Function completed (Failure, Id=56ba500b-7c3a-45c1-a9eb-8be4d52d1592, Duration=159ms)
[1/3/2018 6:49:56 AM]
[1/3/2018 6:49:56 AM] Executed 'Accounting' (Failed, Id=56ba500b-7c3a-45c1-a9eb-8be4d52d1592)
[1/3/2018 6:49:56 AM] System.Private.CoreLib: Exception while executing function: Accounting. AS.Jobs: Could not load file or assembly 'Microsoft.EntityFrameworkCore, Version=2.0.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. Could not find or load a specific file. (Exception from HRESULT: 0x80131621). System.Private.CoreLib: Could not load file or assembly 'Microsoft.EntityFrameworkCore, Version=2.0.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'.
[1/3/2018 6:49:56 AM] Function had errors. See Azure WebJobs SDK dashboard for details. Instance ID is '56ba500b-7c3a-45c1-a9eb-8be4d52d1592'
[1/3/2018 6:49:56 AM] System.Private.CoreLib: Exception while executing function: Accounting. AS.Jobs: Could not load file or assembly 'Microsoft.EntityFrameworkCore, Version=2.0.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. Could not find or load a specific file. (Exception from HRESULT: 0x80131621). System.Private.CoreLib: Could not load file or assembly 'Microsoft.EntityFrameworkCore, Version=2.0.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'.
Aggiornamento: 3/3/2018
Ho installato VS 2017 15.5.2 e lo sto creando in VS.
Ecco l'output dell'host di funzione quando lo eseguo da VS.
[1/4/2018 3:47:03 AM] Host configuration file read:
[1/4/2018 3:47:03 AM] {
[1/4/2018 3:47:03 AM] }
[1/4/2018 3:47:04 AM] Generating 1 job function(s)
[1/4/2018 3:47:04 AM] Starting Host (HostId=jlt03-962556955, Version=2.0.11353.0, ProcessId=21200, Debug=False, Attempt=0, FunctionsExtensionVersion=)
[1/4/2018 3:47:04 AM] Found the following functions:
[1/4/2018 3:47:04 AM] Jobs.Accounting.Run
[1/4/2018 3:47:04 AM]
Listening on http://localhost:7071/
Quindi, dopo molte più ricerche, mi sono imbattuto in questo problema pubblicato su GitHub . È lo stesso identico problema che sto vedendo qui. Apparentemente è un problema con Azure Functions 1.0.7 e EF Core 2.0.1.
Ho dovuto ricondurre il AF a 1.0.6 E ho anche dovuto ricollocare il ruolo di EF Core alla 2.0.0. Successivamente la funzione viene eseguita come previsto.
Seguirò il problema di GitHub e aggiornerò questa risposta una volta che sarà stato confermato.
Aggiornare
Questo problema è stato risolto con la release 2.1.0 di Core Tools di Azure Functions.
https://github.com/Azure/app-service-announcements/issues/109
quello che ha funzionato per me è stato eliminare tutte le cartelle nella cartella bin e creare l'app !!