我正在尝试将Entity Framework Core与C#Azure功能一起使用,而且我在使用库时遇到了大量错误。从默认的HTTP触发器模板开始,我创建了一个包含
的project.json
文件
{
"frameworks": {
"net46":{
"dependencies": {
"Microsoft.EntityFrameworkCore.SqlServer": "1.1.0"
}
}
}
}
当包恢复完成时,编译器无法再在HttpRequestMessageExtensions
中找到扩展方法:
016-12-21T06:59:24.728(9,19):错误CS1929:'HttpRequestMessage'确实 不包含'GetQueryNameValuePairs'的定义和最佳定义 扩展方法重载 'HttpRequestMessageExtensions.GetQueryNameValuePairs(HttpRequestMessage)' 需要一个'HttpRequestMessage'类型的接收器
(和其他3个类似的错误)。
我真的不需要使用这些扩展方法,如果我删除所有调用它们的代码,我会收到有关System.Net.Http
版本的错误:
在程序集'System.Net.Http的运行时解析期间出现异常, Version = 4.1.1.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a': 'System.BadImageFormatException:无法加载引用程序集 执行。
在System.Reflection.RuntimeAssembly.nLoadFile(String path, 证据证据)
在System.Reflection.Assembly.LoadFile(String path)
在 Microsoft.Azure.WebJobs.Script.Description.FunctionMetadataResolver.ResolveAssembly(字符串 的AssemblyName)
在 Microsoft.Azure.WebJobs.Script.Description.FunctionAssemblyLoadContext.ResolveAssembly(字符串 名)
在 Microsoft.Azure.WebJobs.Script.Description.FunctionAssemblyLoader.ResolveAssembly(对象 sender,ResolveEventArgs args)'
2016-12-21T07:00:00.522无法找到程序集'System.Net.Http, Version = 4.1.1.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'。 你错过了一个私人程序集文件吗?
当NuGet添加EntityFrameworkCore包时,它会安装System.Net.Http版本4.3.0,而Azure Functions似乎正在寻找硬编码版本4.1.1。
我看到有关在Azure Functions中使用EF6的问题,但我没有看到任何关于EF Core的内容。
答案 0 :(得分:0)
一个解决方案正在从Azure Function v2核心更改为Azure Function v1框架。