.net asp.net-core .net-core asp.net-core-1.0 project.json

Error de solución "Microsoft.NETCore.App 1.0.0 no es compatible con Framework.NETFramework, Version=v4.6.1"



asp.net-core .net-core (2)

Definitivamente es posible construir proyectos ASP.NET Core usando .NET Framework o .NET Core. Estás muy cerca, solo se necesitan algunos ajustes:

  • Elimina la sección de runtimes , a menos que intentes hacer una compilación nativa (algo inusual)
  • Coloque la referencia a Microsoft.NETCore.App en una sección de dependencies dentro de la sección netcoreapp1.0 . Probé el siguiente cambio y restaura y compila sin errores:

project.json

... "frameworks": { "net461": { }, "netcoreapp1.0": { "dependencies": { "Microsoft.NETCore.App": { "type": "platform", "version": "1.0.0" } }, "imports": [ "dotnet5.6", "portable-net45+win8" ] } }

La dependencia de Microsoft.NETCore.App solo es necesaria para .NET Core, y agregarla aquí asegurará que esté disponible cuando se construya para ese framework.

Además, la sección de commands ha quedado obsoleta y se puede eliminar.

Tengo una aplicación completa ASP.NET Core 1.0 ejecutándose usando referencias net461 . Ahora intento agregar otro marco: netcoreapp1.0 . Para esto, he actualizado mi project.json así:

{ "userSecretsId":"", "version":"2.4.0-*", "buildOptions":{ "emitEntryPoint":true, "preserveCompilationContext":true }, "dependencies":{ "Microsoft.ApplicationInsights.AspNetCore":"1.0.0", "Microsoft.AspNetCore.Authentication.Cookies":"1.0.0", "Microsoft.AspNetCore.Diagnostics":"1.0.0", "Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore":"1.0.0", "Microsoft.AspNetCore.Identity":"1.0.0", "Microsoft.AspNetCore.Identity.EntityFrameworkCore":"1.0.0", "Microsoft.AspNetCore.Mvc":"1.0.0", "Microsoft.AspNetCore.Mvc.TagHelpers":"1.0.0", "Microsoft.AspNetCore.Server.IISIntegration":"1.0.0", "Microsoft.AspNetCore.Server.Kestrel":"1.0.0", "Microsoft.AspNetCore.StaticFiles":"1.0.0", "Microsoft.EntityFrameworkCore":"1.0.0", "Microsoft.EntityFrameworkCore.SqlServer":"1.0.0", "Microsoft.Extensions.Configuration.CommandLine":"1.0.0", "Microsoft.Extensions.Configuration.FileExtensions":"1.0.0", "Microsoft.Extensions.Configuration.Json":"1.0.0", "Microsoft.Extensions.Configuration.UserSecrets":"1.0.0", "Microsoft.Extensions.Logging":"1.0.0", "Microsoft.Extensions.Logging.Console":"1.0.0", "Microsoft.Extensions.Logging.Debug":"1.0.0", "Microsoft.VisualStudio.Web.BrowserLink.Loader":"14.0.0", "Microsoft.VisualStudio.Web.CodeGenerators.Mvc":"1.0.0-preview2-final" }, "tools":{ "BundlerMinifier.Core":"2.0.238", "Microsoft.AspNetCore.Razor.Tools":"1.0.0-preview2-final", "Microsoft.AspNetCore.Server.IISIntegration.Tools":"1.0.0-preview2-final", "Microsoft.Extensions.SecretManager.Tools":"1.0.0-preview2-final" }, "commands":{ "ef":"EntityFramework.Commands", "web":"Microsoft.AspNetCore.Server.Kestrel" }, "frameworks":{ "net461":{ }, "netcoreapp1.0":{ "imports":[ "dotnet5.6", "portable-net45+win8" ] } }, "runtimes":{ "win10-x64":{ }, "win81-x64":{ }, "win8-x64":{ }, "win7-x64":{ } }, "publishOptions":{ "exclude":[ "**.user", "**.vspscc", "wwwroot", "node_modules" ] }, "scripts":{ "prepublish":[ "npm install", "bower install", "gulp clean", "gulp min" ] } }

Después de modificar project.json, obtuve este error:

Error al ejecutar el siguiente proyecto ejecutable: MVC6_Full_Version (.NETCoreApp, Version = v1.0) reason: la biblioteca coreclr esperada no se encuentra en el gráfico del paquete. Intenta ejecutar la restauración de dotnet nuevamente.

Para resolver esto, ejecuté el comando de dotnet restore pero no tuve suerte.

Luego, agregué este bloque:

"Microsoft.NETCore.App": { "version": "1.0.0", "type": "platform" },

Después de agregar este bloque, recibí un error diferente:

Código: NU1002 Descripción: la dependencia Microsoft.NETCore.App 1.0.0 no admite el marco .NETFramework, Version = v4.6.1.

Básicamente, quiero agregar ambas referencias en mis aplicaciones: .NET Framework 4.6.1 y ASP.NET Core 1.0.

¿Cómo resuelvo este error?


Hice referencia a la biblioteca de la clase principal .net en .net 4.6.1 cambiando lo siguiente.

Antes de obtener este error al intentar hacer referencia al núcleo .net de .net 4.6.1

Fijar:

Original

{ "dependencies": { "Microsoft.NETCore.App": { "version": "1.0.0", "type": "platform" }, "Interop.SHDocVw.dll": "1.1.0", "Microsoft.mshtml.dll": "7.0.3300.1" }, "frameworks": { //"net461": {}, "netcoreapp1.0": { "imports": [ "dotnet5.6", "portable-net45+win8", "net461" ] } }, "scripts": { "prepublish": [ "bower install", "dotnet bundle" ] } }

Corregido

{ "dependencies": { "Interop.SHDocVw.dll": "1.1.0", "Microsoft.mshtml.dll": "7.0.3300.1" }, "frameworks": { "net461": { }, "netcoreapp1.0": { "dependencies": { "Microsoft.NETCore.App": { "type": "platform", "version": "1.0.0" } }, "imports": [ "dotnet5.6", "portable-net45+win8", "net461" ] } }, "scripts": { "prepublish": [ "bower install", "dotnet bundle" ] } }