visual tutorial studio onmodelcreating net mvc framework first español code asp visual-studio asp.net-core asp.net-core-mvc entity-framework-core

visual-studio - tutorial - mvc entity framework español



¿Por qué Visual Studio me dice que necesito hacer referencia a System.Private.CoreLib? (2)

Estoy probando EF Core por primera vez y he codificado una aplicación MVC muy simple para mojarme los pies. Estoy usando un método para sembrar la base de datos que se encuentra en el proyecto UnicornStore donde escriben código en Startup.cs para migrar la base de datos y luego ejecutar un método de inicialización .

Antes de llamar al método de DbContext , ejecutan este método de extensión DbContext para comprobar si se han aplicado todas las migraciones:

using System; using System.Linq; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; namespace UnicornStore.Models { public static class DbContextExtensions { public static bool AllMigrationsApplied(this DbContext context) { var applied = context.GetService<IHistoryRepository>() .GetAppliedMigrations() .Select(m => m.MigrationId); var total = context.GetService<IMigrationsAssembly>() .Migrations .Select(m => m.Key); return !total.Except(applied).Any(); } } }

He puesto este mismo método en mi aplicación y todo funciona: el código se compila y la base de datos se migra y se inserta. Sin embargo, Visual Studio (2017 Enterprise) es rojo subrayando esta línea:

context.GetService<IMigrationsAssembly>() .Migrations .Select(m => m.Key);

Si pasé el cursor sobre la línea roja, me dice:

Se debe hacer referencia al módulo ''System.Private.CoreLib, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = foo''

¿Alguien puede decirme por qué recibo este mensaje? De hecho, traté de agregar una referencia a System.Private.CoreLib para ver qué sucedería, y eso causó una tonelada de errores ( System.Object indefinido, etc.). Nunca me siento cómodo dejando cosas así sin resolver en caso de que vuelvan a morderme más tarde, por lo que cualquier resolución (o una confirmación de que puedo dejar esto y hacer caso omiso del mensaje) sería muy apreciada.


¿Tiene R # instalado? Es posible que haya estado abordando este problema: RSRP-464676

Si es así, intenta suspender R # y ver si los problemas ya no se muestran.


Al igual que una respuesta alternativa, parece como si mi correo electrónico de alt-enter y salida alt-enter deseado me llevara a importar una referencia de ensamblado a System.Private.CoreLib , que creo que System.Private.CoreLib de una corrección de importación de espacio de nombres enhebrado. Verifique si esto ha sido referenciado.