tag route page net data asp all c# asp.net-core dnx

c# - route - tag helpers asp net core



¿Cómo puedo diagnosticar las dependencias faltantes(u otras fallas del cargador) en dnx? (6)

Buena pregunta. Para su problema específico, parece que tiene una falta de coincidencia en sus dependencias resueltas. Cuando suceden cosas como esta es probable porque esté ejecutando su aplicación en un dnx incompatible. Todavía estamos haciendo grandes cambios importantes, por lo que si alguna vez ve que falta el método del tipo que falta, es probable que termine ejecutando paquetes betaY y betaY dnx o viceversa.

Incluso más específicamente, davidfowl.com/assembly-neutral-interfaces se eliminaron en beta4, pero parece que la aplicación que está ejecutando todavía las está utilizando.

Tenemos planes de hacerlo para que los paquetes puedan marcar el dnx mínimo que requieren para ejecutarse para que el mensaje de error sea más claro. Además, a medida que pasa el tiempo, los cambios importantes desaparecerán.

Sin embargo, en general, siento que es hora de que escriba una guía sobre cómo diagnosticar problemas como este al usar el dnx (ya que es bastante diferente al .NET existente).

Las dependencias que pones en project.json son solo de nivel superior. Las versiones también son siempre mínimas (es como un paquete NuGet). Esto significa que cuando especifica Foo 1.0.0-beta4 realmente está especificando Foo >= 1.0.0-beta4 . Esto significa que si solicita MVC 0.0.1 y las versiones mínimas en su feed configurado es MVC 3.0.0 , obtendrá esa. También NUNCA hacemos flotar su versión a menos que usted la especifique. Si solicita 1.0.0 y existe, obtendrá 1.0.0 incluso si existen versiones más recientes. Especificar versiones vacías SIEMPRE es malo y no se permitirá en versiones posteriores.

Hay una nueva característica que estamos presentando a nuget llamada versiones flotantes. Hoy solo funciona en la etiqueta de prelanzamiento, pero en la próxima versión funcionará en más partes de la versión. Esto es similar a la sintaxis npm y gem para especificar rangos de versión en el archivo de especificación del paquete.

1.0.0-* - Significa darme la versión MÁS ALTA que coincida con el prefijo (de acuerdo con las reglas de versiones semánticas ) O si no hay una versión que coincida con ese prefijo, use el comportamiento normal y obtenga la versión MÁS BAJA> = la versión especificada.

Cuando ejecute la restauración en las últimas compilaciones, escribirá un archivo llamado project.lock.json . Este archivo tendrá el cierre transitivo de dependencias para todos los marcos de destino definidos en project.json .

Cuando algo como esto falla, puede hacer lo siguiente:

Eche un vistazo a las dependencias resueltas usando la kpm list . Esto le mostrará las versiones resueltas de los paquetes a los que hace referencia su proyecto y qué dependencia lo incorporó. Por ejemplo, si A -> B, mostrará:

A -> B B ->

Salida de la lista KPM real:

Listado de dependencias para ClassLibrary39 (C: / Users / davifowl / Documents / Visual Studio 14 / Projects / ClassLibrary39 / src / ClassLibrary39 / project.json)

[Target framework DNX,Version=v4.5.1 (dnx451)] framework/Microsoft.CSharp 4.0.0.0 -> ClassLibrary39 1.0.0 framework/mscorlib 4.0.0.0 -> ClassLibrary39 1.0.0 framework/System 4.0.0.0 -> ClassLibrary39 1.0.0 framework/System.Core 4.0.0.0 -> ClassLibrary39 1.0.0 *Newtonsoft.Json 6.0.1 -> ClassLibrary39 1.0.0 [Target framework DNXCore,Version=v5.0 (dnxcore50)] *Newtonsoft.Json 6.0.1 -> ClassLibrary39 1.0.0 System.Runtime 4.0.20-beta-22709 -> ClassLibrary39 1.0.0

* significa dependencia directa.

Si tiene un estudio visual en funcionamiento (que rompe con DNX en este momento), puede mirar el nodo de referencias. Tiene los mismos datos representados visualmente:

Veamos cómo se ve una falla de dependencia:

Aquí está el proyecto.json

{ "version": "1.0.0-*", "dependencies": { "Newtonsoft.Json": "8.0.0" }, "frameworks" : { "dnx451" : { "dependencies": { } }, "dnxcore50" : { "dependencies": { "System.Runtime": "4.0.20-beta-22709" } } } }

Newtonsoft.Json 8.0.0 no existe. Entonces ejecutar kpm restore muestra lo siguiente:

Cuando diagnostique cuándo pudo haber fallado la restauración, mire las solicitudes HTTP realizadas, le informan qué fuentes de paquetes configuradas buscó kpm. Observe en la imagen anterior, hay una solicitud CACHE . Este es el almacenamiento en caché integrado según el tipo de recurso (nupkg o nuspec) y tiene un TTL configurable (consulte kpm restore --help ). Si desea forzar que kpm golpee las fuentes remotas de NuGet, use el indicador --no-cache :

Estos errores también aparecen en Visual Studio en la ventana de salida del registro del administrador de paquetes:

Nota al margen!

Fuentes de paquete

Describiré la forma en que NuGet.config funciona en este momento (lo que probablemente cambiará en el futuro). De forma predeterminada, tiene un NuGet.config con la fuente predeterminada de NuGet.org configurada globalmente en %appdata%/NuGet/NuGet.Config . Puede administrar estas fuentes globales en Visual Studio o con la herramienta de línea de comandos NuGet. Siempre debe mirar sus fuentes efectivas (las que figuran en la salida de kpm) cuando intente diagnosticar fallas.

Lea más sobre NuGet.config here

De vuelta a la realidad:

Cuando las dependencias no se resuelven, ejecutar la aplicación le dará esto:

> dnx . run System.InvalidOperationException: Failed to resolve the following dependencies for target framework ''DNX,Version=v4.5.1'': Newtonsoft.Json 8.0.0 Searched Locations: C:/Users/davifowl/Documents/Visual Studio 14/Projects/ClassLibrary39/src/{name}/project.json C:/Users/davifowl/Documents/Visual Studio 14/Projects/ClassLibrary39/test/{name}/project.json C:/Users/davifowl/.dnx/packages/{name}/{version}/{name}.nuspec C:/Program Files (x86)/Reference Assemblies/Microsoft/Framework/.NETFramework/v4.5.1/{name}.dll C:/Program Files (x86)/Reference Assemblies/Microsoft/Framework/.NETFramework/v4.5.1/Facades/{name}.dll C:/WINDOWS/Microsoft.NET/assembly/GAC_32/{name}/{version}/{name}.dll C:/WINDOWS/Microsoft.NET/assembly/GAC_64/{name}/{version}/{name}.dll C:/WINDOWS/Microsoft.NET/assembly/GAC_MSIL/{name}/{version}/{name}.dll Try running ''kpm restore''. at Microsoft.Framework.Runtime.DefaultHost.GetEntryPoint(String applicationName) at Microsoft.Framework.ApplicationHost.Program.ExecuteMain(DefaultHost host, String applicationName, String[] args) at Microsoft.Framework.ApplicationHost.Program.Main(String[] args)

El tiempo de ejecución básicamente intenta validar que todo el gráfico de dependencia se resuelva antes de intentar ejecutarse. Si sugiere ejecutar kpm restore es porque no puede encontrar las dependencias enumeradas.

Otra razón por la que puede obtener este error es si está ejecutando el sabor dnx incorrecto. Si su aplicación solo especifica dnx451 e intenta ejecutar CoreCLR dnx, es posible que vea un problema similar. Presta mucha atención al marco de destino en el mensaje de error:

Para correr:

dnx4x - runs on dnx-clr-{etc} dnxcore50 - runs on dnx-coreclr-{etc}

Cuando intente ejecutar, debe recordar ese mapeo mental de clr al marco de destino definido en su project.json .

Esto también aparece en Visual Studio en el nodo de referencias:

Los nodos marcados como amarillos no están resueltos.

Estos también aparecen en la lista de errores:

edificio

Estos errores también aparecen al construir. Al construir desde la línea de comandos, el resultado es muy detallado y puede ser extremadamente útil al diagnosticar problemas:

> kpm build Building ClassLibrary39 for DNX,Version=v4.5.1 Using Project dependency ClassLibrary39 1.0.0 Source: C:/Users/davifowl/Documents/Visual Studio 14/Projects/ClassLibrary39/src/ClassLibrary39/project.json Using Assembly dependency framework/mscorlib 4.0.0.0 Source: C:/Program Files (x86)/Reference Assemblies/Microsoft/Framework/.NETFramework/v4.5.1/mscorlib.dll Using Assembly dependency framework/System 4.0.0.0 Source: C:/Program Files (x86)/Reference Assemblies/Microsoft/Framework/.NETFramework/v4.5.1/System.dll Using Assembly dependency framework/System.Core 4.0.0.0 Source: C:/Program Files (x86)/Reference Assemblies/Microsoft/Framework/.NETFramework/v4.5.1/System.Core.dll Using Assembly dependency framework/Microsoft.CSharp 4.0.0.0 Source: C:/Program Files (x86)/Reference Assemblies/Microsoft/Framework/.NETFramework/v4.5.1/Microsoft.CSharp.dll Building ClassLibrary39 for DNXCore,Version=v5.0 Using Project dependency ClassLibrary39 1.0.0 Source: C:/Users/davifowl/Documents/Visual Studio 14/Projects/ClassLibrary39/src/ClassLibrary39/project.json Using Package dependency System.Console 4.0.0-beta-22709 Source: C:/Users/davifowl/.dnx/packages/System.Console/4.0.0-beta-22709 File: lib/contract/System.Console.dll Using Package dependency System.IO 4.0.10-beta-22231 Source: C:/Users/davifowl/.dnx/packages/System.IO/4.0.10-beta-22231 File: lib/contract/System.IO.dll Using Package dependency System.Runtime 4.0.20-beta-22231 Source: C:/Users/davifowl/.dnx/packages/System.Runtime/4.0.20-beta-22231 File: lib/contract/System.Runtime.dll Using Package dependency System.Text.Encoding 4.0.10-beta-22231 Source: C:/Users/davifowl/.dnx/packages/System.Text.Encoding/4.0.10-beta-22231 File: lib/contract/System.Text.Encoding.dll Using Package dependency System.Threading.Tasks 4.0.10-beta-22231 Source: C:/Users/davifowl/.dnx/packages/System.Threading.Tasks/4.0.10-beta-22231 File: lib/contract/System.Threading.Tasks.dll

El resultado muestra todos los ensamblados pasados ​​al compilador desde paquetes y referencias de proyectos. Cuando comience a obtener fallas de compilación, es útil mirar aquí para asegurarse de que el paquete que está utilizando realmente funcione en esa plataforma de destino.

Aquí hay un ejemplo de un paquete que no funciona en dnxcore50:

{ "version": "1.0.0-*", "dependencies": { "Microsoft.Owin.Host.SystemWeb": "3.0.0" }, "frameworks": { "dnx451": { "dependencies": { } }, "dnxcore50": { "dependencies": { "System.Console": "4.0.0-beta-22709" } } } }

Microsoft.Owin.Host.SystemWeb versión 3.0.0 no tiene ningún ensamblado que se ejecute en dnxcore50 (eche un vistazo a la carpeta lib del paquete descomprimido). Cuando ejecutamos kpm build :

Observe que dice "usando el paquete Microsoft.Owin.Host.SystemWeb" pero no hay "Archivo:". Este podría ser el motivo de un error de compilación.

Aquí termina mi cerebro volcado

Estoy tratando de ejecutar una versión modificada de la muestra HelloWeb para ASP.NET vNext en DNX usando Kestrel. Entiendo que esto está en el límite, pero espero que el equipo de ASP.NET al menos mantenga funcionando la aplicación web más simple posible :)

Ambiente:

  • Linux (Ubuntu, más o menos)
  • Mono 3.12.1
  • DNX 1.0.0-beta4-11257 (también tengo 11249 disponible)

Código de "aplicación web", en Startup.cs :

using Microsoft.AspNet.Builder; public class Startup { public void Configure(IApplicationBuilder app) { app.UseWelcomePage(); } }

Configuración del proyecto, en project.json :

{ "dependencies": { "Kestrel": "1.0.0-beta4", "Microsoft.AspNet.Diagnostics": "1.0.0-beta4", "Microsoft.AspNet.Hosting": "1.0.0-beta4", "Microsoft.AspNet.Server.WebListener": "1.0.0-beta4", "Microsoft.AspNet.StaticFiles": "1.0.0-beta4", "Microsoft.Framework.Runtime": "1.0.0-beta4", "Microsoft.Framework.Runtime.Common": "1.0.0-beta4", "Microsoft.Framework.Runtime.Loader": "1.0.0-beta4", "Microsoft.Framework.Runtime.Interfaces": "1.0.0-beta4", }, "commands": { "kestrel": "Microsoft.AspNet.Hosting --server Kestrel --server.urls http://localhost:5004" }, "frameworks": { "dnx451": {} } }

kpm restore parece funcionar bien.

Sin embargo, cuando intento ejecutar, aparece una excepción que sugiere que no se puede encontrar Microsoft.Framework.Runtime.IApplicationEnvironment . Línea de comando y error (algo reformateado)

.../HelloWeb$ dnx . kestrel System.IO.FileNotFoundException: Could not load file or assembly ''Microsoft.Framework.Runtime.IApplicationEnvironment, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'' or one of its dependencies. File name: ''Microsoft.Framework.Runtime.IApplicationEnvironment, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'' at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0

Si bien, obviamente, mi necesidad más urgente es solucionar esto, también agradecería consejos sobre cómo avanzar para diagnosticar lo que está mal para poder solucionar problemas similares yo mismo en el futuro. (También es probable que esta pregunta sea más útil para los demás).

He encontrado Microsoft.Framework.Runtime.IApplicationEnvironment en la fuente de ensamblaje Microsoft.Framework.Runtime.Interfaces , y eso no parece haber cambiado recientemente. No está claro por qué la excepción muestra el nombre como si fuera un conjunto completo en sí mismo, en lugar de solo una interfaz dentro de otro conjunto. Supongo que esto puede deberse a interfaces de montaje neutrales , pero el error no lo aclara. ( [AssemblyNeutral] está muerto, así que no es así ... )


En estos días, todas mis versiones de package.json terminan en "-rc2-*"

(Las únicas excepciones que he visto hasta ahora son los paquetes Microsoft.Framework.Configuration , que deben ser "1.0.0-rc1-*" o "1.0.0-*" )

Con respecto a los "trenes de versiones" que menciona @davidfowl, parece que mucho dolor ha desaparecido entre beta8 y rc2.

dnvm upgrade -u -arch x64 -r coreclr

He tenido más suerte en coreclr con estos 2 feeds NuGet:

"https://www.myget.org/F/aspnetvnext/" "https://nuget.org/api/v2/"

Cuando me faltan problemas con el paquete, el 90% de las veces son los mismos culpables:

Newtonsoft.Json Ix-Async Remotion.Linq

La mayoría de las veces, puedo evitarlos forzando el feed principal de NuGet.org:

dnu restore; dnu restore -s https://nuget.org/api/v2

Aquí está mi config.json de trabajo:

{ "dependencies": { "Microsoft.AspNet.Diagnostics": "1.0.0-rc2-*", "Microsoft.AspNet.Diagnostics.Entity": "7.0.0-rc2-*", "Microsoft.AspNet.Hosting": "1.0.0-rc2-*", "Microsoft.AspNet.Http": "1.0.0-rc2-*", "Microsoft.AspNet.Http.Abstractions": "1.0.0-rc2-*", "Microsoft.AspNet.Mvc.Core": "6.0.0-rc2-*", "Microsoft.AspNet.Mvc.Razor": "6.0.0-rc2-*", "Microsoft.AspNet.Owin": "1.0.0-rc2-*", "Microsoft.AspNet.Routing": "1.0.0-rc2-*", "Microsoft.AspNet.Server.Kestrel": "1.0.0-rc2-*", "Microsoft.AspNet.Server.WebListener": "1.0.0-rc2-*", "Microsoft.AspNet.Session": "1.0.0-rc2-*", "Microsoft.AspNet.StaticFiles": "1.0.0-rc2-*", "EntityFramework.Commands": "7.0.0-rc2-*", "EntityFramework.Core": "7.0.0-rc2-*", "EntityFramework.InMemory": "7.0.0-rc2-*", "EntityFramework.MicrosoftSqlServer": "7.0.0-rc2-*", "EntityFramework.MicrosoftSqlServer.Design": "7.0.0-rc2-*", "EntityFramework.Relational": "7.0.0-rc2-*", "EntityFramework7.Npgsql": "3.1.0-beta8-2", "Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc2-*", "Microsoft.Extensions.Logging.Console": "1.0.0-rc2-*", "Microsoft.Extensions.DependencyInjection": "1.0.0-rc2-*", "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0-rc2-*", "Microsoft.Framework.Configuration.CommandLine": "1.0.0-*", "Microsoft.Framework.Configuration.EnvironmentVariables": "1.0.0-*", "Microsoft.Framework.Configuration.Json": "1.0.0-*" }, "commands": { "ef": "EntityFramework.Commands", "dev": "Microsoft.AspNet.Hosting --ASPNET_ENV Development --server Microsoft.AspNet.Server.Kestrel --server.urls http://localhost:5004" }, "frameworks": { "dnxcore50": {} } }


Para que funcione, modifiqué mi project.json ... ahora se ve así:

{ "dependencies": { "Kestrel": "1.0.0-*", "Microsoft.AspNet.Diagnostics": "1.0.0-*", "Microsoft.AspNet.Hosting": "1.0.0-*", "Microsoft.AspNet.Server.WebListener": "1.0.0-*", "Microsoft.AspNet.StaticFiles": "1.0.0-*" }, "commands": { "web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://localhost:5001", "kestrel": "Microsoft.AspNet.Hosting --server Kestrel --server.urls http://localhost:5004" }, "frameworks": { } }

La clave parecía ser la sección de marcos.

Además, el cambio de nombre cambió la forma en que funciona k web para que ahora sea dnx . web dnx . web o dnx . kestrel dnx . kestrel

Actualización - poco más información

Curiosamente, después de ejecutar sin marcos definidos, fue y obtuve un montón de cosas adicionales cuando hice kpm restore :

... Installing Microsoft.Framework.Logging 1.0.0-beta4-11001 Installing Microsoft.Framework.Logging.Interfaces 1.0.0-beta4-11001 Installing Microsoft.Framework.DependencyInjection.Interfaces 1.0.0-beta4-11010 Installing Microsoft.Framework.DependencyInjection 1.0.0-beta4-11010 Installing Microsoft.Framework.ConfigurationModel 1.0.0-beta4-10976 Installing Microsoft.Framework.ConfigurationModel.Interfaces 1.0.0-beta4-10976 Installing Microsoft.AspNet.Hosting.Interfaces 1.0.0-beta4-11328 Installing Microsoft.AspNet.FeatureModel 1.0.0-beta4-11104 Installing Microsoft.AspNet.Http 1.0.0-beta4-11104 Installing Microsoft.AspNet.FileProviders.Interfaces 1.0.0-beta4-11006 Installing Microsoft.Framework.Caching.Interfaces 1.0.0-beta4-10981 Installing Microsoft.AspNet.FileProviders 1.0.0-beta4-11006 Installing Microsoft.AspNet.Http.Core 1.0.0-beta4-11104 Installing Microsoft.AspNet.WebUtilities 1.0.0-beta4-11104 Installing Microsoft.Net.Http.Headers 1.0.0-beta4-11104 Installing Microsoft.AspNet.Http.Interfaces 1.0.0-beta4-11104 Installing Microsoft.Framework.Runtime.Interfaces 1.0.0-beta4-11257 Installing Microsoft.AspNet.Server.Kestrel 1.0.0-beta4-11262 Installing Microsoft.Net.Http.Server 1.0.0-beta4-11698 Installing Microsoft.Net.WebSockets 1.0.0-beta4-11698 Installing Microsoft.Net.WebSocketAbstractions 1.0.0-beta4-10915 Installing Microsoft.Framework.WebEncoders 1.0.0-beta4-11104 Installing Microsoft.Framework.OptionsModel 1.0.0-beta4-10984 Installing Microsoft.AspNet.Http.Extensions 1.0.0-beta4-11104 Installing Microsoft.AspNet.Diagnostics.Interfaces 1.0.0-beta4-12451 Installing Microsoft.AspNet.RequestContainer 1.0.0-beta4-11328

.. entonces funcionó bien. Luego volví a la sección del marco

"frameworks": { "dnx451": {} }

.. y todavía funcionó, mientras que antes arrojaría un error!

¡Muy raro!

(Estoy ejecutando 1.0.0-beta4-11257 )

Actualización adicional

Creé una nueva instancia de Ubuntu, y obtuve el mismo error que tú ... Pensé que el problema podría ser causado solo por tratar de obtener paquetes de nuget.org y no myget.org (que tiene las cosas más nuevas), así que NuGet.Config caer un NuGet.Config en la raíz del proyecto ...

<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <add key="AspNetVNext" value="https://www.myget.org/F/aspnetvnext/" /> <add key="NuGet" value="https://nuget.org/api/v2/" /> </packageSources> </configuration>

.. esto parece haberme solucionado al obtener las versiones correctas (después de otra kpm restore ).


Puede establecer una DNX_TRACE de DNX_TRACE denominada DNX_TRACE en 1 para ver MÁS información de diagnóstico. ¡Ten cuidado, es mucha más información!


Tenía problemas de falta de dependencia también al tratar de apaciguar las referencias dnxcore50 y dnx451.

Si entiendo este derecho "dependencias": {} se comparten entre los marcos.

Entonces "dependencias": {} dentro de los "marcos": son específicos de ese marco.

dnxcore50 es un tiempo de ejecución modular (autocontenido), por lo que básicamente contiene todos los tiempos de ejecución principales necesarios para ejecutar un programa a diferencia del marco .net clásico, donde tiene dependencias centrales dispersas en otros lugares.

Dicho esto, quería mantener el enfoque mínimo en caso de que decidiera alojar en Mac o Linux en algún momento.

La actualización se encontró con problemas de dependencia extraños con vistas cshtml, solo fui con dnx451 por ahora.

Este es mi proyecto.json

{ "webroot": "wwwroot", "version": "1.0.0-*", "dependencies": { "System.Runtime": "4.0.10", "Microsoft.AspNet.Hosting": "1.0.0-beta4", "Microsoft.AspNet.Mvc": "6.0.0-beta4", "Microsoft.AspNet.Server.IIS": "1.0.0-beta6-12075", "Microsoft.AspNet.Server.WebListener": "1.0.0-beta6-12457", "Microsoft.Framework.DependencyInjection": "1.0.0-beta4", "Microsoft.Framework.DependencyInjection.Interfaces": "1.0.0-beta5" }, "commands": { "web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://admin.heartlegacylocal.com" }, "frameworks": { "dnx451": { } } }, "publishExclude": [ "node_modules", "bower_components", "**.xproj", "**.user", "**.vspscc" ], "exclude": [ "wwwroot", "node_modules", "bower_components" ] }


Todavía no sé del todo lo que estaba mal, pero ahora tengo una serie de pasos para al menos hacer que sea más fácil probar cosas:

  • En caso de duda, reinstale dnx
    • Eliminar el paquete de caché puede ser útil
  • Verifique ~/.config/NuGet.config para asegurarse de que está utilizando los feeds NuGet correctos

Terminé usando la siguiente línea de comando para probar varias opciones de una manera razonablemente limpia:

rm -rf ~/.dnx/packages && rm -rf ~/.dnx/runtimes && dnvm upgrade && kpm restore && dnx . kestrel

Parece que mi problema se debió realmente a las versiones incorrectas de las dependencias que se están instalando. "1.0.0-beta4" un número de versión de "1.0.0-beta4" es bastante diferente a "1.0.0-beta4-*" . Por ejemplo, la dependencia de Kestrel instaló la versión 1.0.0-beta4-11185 cuando solo se especificó como 1.0.0-beta4 , pero la versión 1.0.0-beta4-11262 con -* al final. Quería especificar beta4 explícitamente para evitar usar accidentalmente una versión beta3 con el

La siguiente configuración del proyecto funciona bien:

{ "dependencies": { "Kestrel": "1.0.0-beta4-*", "Microsoft.AspNet.Diagnostics": "1.0.0-beta4-*", "Microsoft.AspNet.Hosting": "1.0.0-beta4-*", "Microsoft.AspNet.Server.WebListener": "1.0.0-beta4-*", }, "commands": { "kestrel": "Microsoft.AspNet.Hosting --server Kestrel --server.urls http://localhost:5004" }, "frameworks": { "dnx451": {} } }