El tipo 'IEnumerable <>' se define en un ensamblaje al que no se hace referencia. System.Runtime

asp.net-core c# entity-framework-core project.json

Pregunta

Tengo una aplicación web asp.net 5 que hace referencia a una biblioteca de clases.

Esa biblioteca de clases usa Entity Framework 7 para realizar una consulta.

public IEnumerable<Member> GetMemberyByFirstName(string firstName)
{
    var members = _context.Members.Where(m => m.FirstName.Contains(firstName));
    return memebers;
}

Pero me sale este error de compilación

El tipo 'IEnumerable <>' se define en un ensamblaje al que no se hace referencia. Debe agregar una referencia al ensamblado 'System.Runtime, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a'. *

Respuesta aceptada

Ya me di cuenta de cómo hacerlo, pero solo quería que la información estuviera disponible.

Es bastante complicado y gira en torno al proyecto.json.

La respuesta muy breve es que cambié el project.json en la biblioteca de clases para

{
    "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"
    }
}

Puede encontrar mucho más detalle aquí: http://nodogmablog.bryanhogan.net/2016/01/the-type-is-defined-in-an-assembly-that-is-not-referenced-system-runtime/


Respuesta popular

Intenta regresar como abajo

var members = _context.Members.Where(m => m.FirstName.Contains(firstName)).ToList();

Además, no entiendo la definición de función

var members = _context.Members.Where(m => m.FirstName.Contains(firstName)).ToList();

Si desea devolver IEnumerable<Member> solo debería ser IEnumerable<Member> y no void IEnumerable<Member>




Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué