类型“IEnumerable<>”是在未引用的程序集中定义的.系统运行时
本文关键字:程序集 程序 集中 定义 运行时 系统 引用 IEnumerable 类型 | 更新日期: 2023-09-27 18:30:34
我有一个引用类库的 asp.net 5 Web 应用程序。
该类库使用实体框架 7 执行查询。
public IEnumerable<Member> GetMemberyByFirstName(string firstName)
{
var members = _context.Members.Where(m => m.FirstName.Contains(firstName));
return memebers;
}
但是我得到这个编译错误
类型"IEnumerable<>"在不是 引用。必须添加对程序集"System.Runtime, 版本=4.0.0.0,区域性=中性,公钥令牌=b03f5f7f11d50a3a'。 *
我已经想出了如何做到这一点,但只是想获得信息。
它非常复杂,围绕着project.json。
非常简短的回答是我将类库中的 project.json 更改为
{
"version": "1.0.0-*",
"description": "Member.Business Class Library",
"authors": [ "bryan" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"frameworks": {
"dnx451": { },
"dnxcore50": {
"dependencies": {
"Microsoft.CSharp": "4.0.1-beta-23516"
}
}
},
"dependencies": {
"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
"Member.DataLayer": "1.0.0-*",
"Member.Domain": "1.0.0-*",
"System.Collections": "4.0.11-beta-23516",
"System.Linq": "4.0.1-beta-23516",
"System.Runtime": "4.0.21-beta-23516",
"System.Threading": "4.0.11-beta-23516"
}
}
更多细节可以在这里找到 - http://nodogmablog.bryanhogan.net/2016/01/the-type-is-defined-in-an-assembly-that-is-not-referenced-system-runtime/
尝试返回如下-
var members = _context.Members.Where(m => m.FirstName.Contains(firstName)).ToList();
另外,我不明白函数定义-
void IEnumerable<Member>
如果您想返回IEnumerable<Member>
它应该只IEnumerable<Member>
而不是void IEnumerable<Member>