I have created an Azure Functions project using .NET Core v2 and attempted to migrate it to Azure Functions v3. After upgrading it complains that it cannot find Microsoft.Data.Edm, Version=5.8.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
anymore. When I look in the bin
folder of my v2.1 version, then this file is copied to that location. My v3.1 version lacks a lot of files, including Microsoft.Data.Edm.dll
. It seems the file is copied to the bin folder, but it is being removed afterwards. Does any one know what is happening?
It seems the problems start happening when the Microsoft.NET.Sdk.Functions
package is upgraded to a version higher than 1.0.31. To illustrate the problem I have created a very simple Azure Function solution that contains both the V2 and the V3 version. It can be found at https://github.com/ramondeklein/AzureFunctionsWithEdm.
When running the AzureFunctionsWithEdm2
the call http://localhost:7071/api/EdmFunction returns OK, but with AzureFunctionsWithEdm3
it fails, because it cannot load the Microsoft.Data.Edm
assembly. When the Microsoft.NET.Sdk.Functions
package is upgraded to 1.0.33, then the V2 also fails to work.
It seems that the RemoveRuntimeDependencies
task removes this assemblies (source). It doesn't run when the _FunctionsSkipCleanOutput
variable is set to true
. Adding the following line effectively disables this task and makes it work for 1.0.33 and later too.
<PropertyGroup>
<_FunctionsSkipCleanOutput>true</_FunctionsSkipCleanOutput>
</PropertyGroup>
Item is tracked via this issue.