【发布时间】:2016-07-29 16:37:21
【问题描述】:
我正在编写我的类库,在提交对 git 的更改后,应用程序停止工作 - 构建以非常奇怪的错误结束:
“IList”不包含“AsQueryable”的定义,并且找不到接受“IList”类型的第一个参数的扩展方法“AsQueryable”(您是否缺少 using 指令或程序集引用?)
using System.Collections.Generic;
using System.Linq;
using Idea7.Entity;
using Idea7.Query;
namespace Idea7.Repository
{
/// <summary>
/// Abstract in-memory repository
/// </summary>
public abstract class InMemoryRepository<TEntity, TKey> : IRepository<TEntity, TKey>
where TEntity : class, IEntity<TKey>
{
public abstract IList<TEntity> Data { get; }
public long Count(IQueryObject<TEntity> query)
{
return query.Count(Data.AsQueryable());
}
public IEnumerable<TEntity> Fetch(IQueryObject<TEntity> query)
{
return query.Fetch(Data.AsQueryable());
}
public TEntity FetchOne(IQueryObject<TEntity> query)
{
return query.FetchOne(Data.AsQueryable());
}
public TEntity Find(TKey id)
{
return Data.SingleOrDefault(s => s.Id.Equals(id));
}
public void Create(TEntity entity)
{
Data.Add(entity);
}
public void Update(TEntity entity)
{
Delete(entity);
Create(entity);
}
public void Delete(TEntity entity)
{
Data.Remove(entity);
}
}
}
我错过了什么?
这里是 project.json
{
"version": "1.0.0-*",
"description": "Idea7.Repository Class Library",
"authors": [ "Sebastian Bušek" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"frameworks": {
"dnx451": { },
"dnx50": { },
"netcore50": { }
},
"dependencies": {
"Idea7.Entity": "1.0.0-*",
"Idea7.Query": "1.0.0-*",
"Idea7.UnitOfWork": "1.0.0-*",
"Microsoft.CSharp": "4.0.1-beta-23516"
}
}
【问题讨论】:
-
是的,你不能调用一个不存在的函数。不能从 IList 调用 AsQueryable。
-
你试过packagesearch.azurewebsites.net/?q=AsQueryable 吗?它搜索包中的类型和方法,并列出使用它的包。它说
System.Linq.Queryable´, version4.0.1-beta-23509`。尝试添加对它的引用 -
附带说明,请不要将
dnx451和dnx50名称用于类库。对于 ASP.NET Core RC1,您使用net451获取完整框架,使用dotnet5.x(x=0-5) 获取 .NET Core。dnx451和dnx50仅适用于应用程序(控制台、asp.net webprojects、xunit 测试项目) -
感谢您的回复,您的评论有帮助 - 我不确定,如果 MS 中的某个人决定将包裹分成小块,因为今天早上一切正常...
-
整个 .NET Core 是高度模块化的,因为现在(很快,使用 RC2 和 dotnet-cli)您可以将所有需要的程序集打包到您的应用程序中,因此无需安装运行时不再,每个应用程序都可以并排使用它的特定程序集版本。因此,更新一个应用程序/框架(即 .NET 3.5 到 4.5.2)不会再破坏您的其他应用程序
标签: c# asp.net linq asp.net-core .net-core