¿Qué hago cuando ASP.NET 5 (vNext) no puede redirigir enlaces?

Me estoy mojando los pies con MVC 6. Instalé VS 2015 y con el valor predeterminadoASP.NET 5 preview MVC Web Application plantilla todo funciona bien bajo IIS local.

Luego intenté cambiar el contenedor DI predeterminado conStructureMap siguiendoestas instrucciones exactamente (tenga en cuenta que es un artículo muy reciente). Lo único es que tuve que averiguar los espacios de nombres para importarme (ya que el autor no los incluyó) y esto es lo que incluí.

Puse elStructureMapRegistration clase y todas las clases relacionadas en un solo archivo, y aquí están los usos.

using Microsoft.Framework.DependencyInjection;
using StructureMap;
using StructureMap.Configuration.DSL.Expressions;

Agregué los siguientes usos a laStartup.cs archivo.

using StructureMap;
using StructureMap.Graph;
using System.Reflection;

E hice la siguiente edición a laStartup.cs archivo.

// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
    // Add Entity Framework services to the services container.
    services.AddEntityFramework()
        .AddSqlServer()
        .AddDbContext<ApplicationDbContext>(options =>
            options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]));

    // Add Identity services to the services container.
    services.AddIdentity<ApplicationUser, IdentityRole>()
        .AddEntityFrameworkStores<ApplicationDbContext>()
        .AddDefaultTokenProviders();

    // Configure the options for the authentication middleware.
    // You can add options for Google, Twitter and other middleware as shown below.
    // For more information see http://go.microsoft.com/fwlink/?LinkID=532715
    services.Configure<FacebookAuthenticationOptions>(options =>
    {
        options.AppId = Configuration["Authentication:Facebook:AppId"];
        options.AppSecret = Configuration["Authentication:Facebook:AppSecret"];
    });

    services.Configure<MicrosoftAccountAuthenticationOptions>(options =>
    {
        options.ClientId = Configuration["Authentication:MicrosoftAccount:ClientId"];
        options.ClientSecret = Configuration["Authentication:MicrosoftAccount:ClientSecret"];
    });

    // Add MVC services to the services container.
    services.AddMvc();

    //// Uncomment the following line to add Web API services which makes it easier to port Web API 2 controllers.
    //// You will also need to add the Microsoft.AspNet.Mvc.WebApiCompatShim package to the 'dependencies' section of project.json.
    //// services.AddWebApiConventions();

    //// Register application services.
    //services.AddTransient<IEmailSender, AuthMessageSender>();
    //services.AddTransient<ISmsSender, AuthMessageSender>();

    var container = new Container();
    container.Configure(x =>
    {
        x.Scan(scanning =>
        {
            scanning.Assembly(Assembly.GetExecutingAssembly());
            scanning.TheCallingAssembly();
            scanning.WithDefaultConventions();
        });

        //x.AddRegistry<WebsiteRegistry>();
    });

    // Our framework extension point
    container.Populate(services);
}

Literalmente, elsolamente Lo que he cambiado de la plantilla predeterminada son los cambios de código anteriores y la instalaciónStructureMap 3.1.6.186.

Las instrucciones de uso suprimen todos los errores de compilación en tiempo de diseño, pero cuando construyo, obtengo varios otros errores.

Error CS0012 El tipo 'Acción <>' se define en un ensamblaje al que no se hace referencia. Debe agregar una referencia al ensamblado 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes'. TestDI3.DNX Core 5.0 f: \ Users \ Shad \ documents \ visual studio 2015 \ Projects \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 32

Error CS0012 El tipo 'IDisposable' se define en un ensamblaje al que no se hace referencia. Debe agregar una referencia al ensamblado 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes'. TestDI3.DNX Core 5.0 f: \ Users \ Shad \ documents \ visual studio 2015 \ Projects \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 32

Error CS0012 El tipo 'Func <,>' se define en un ensamblado al que no se hace referencia. Debe agregar una referencia al ensamblado 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes'. TestDI3.DNX Core 5.0 f: \ Users \ Shad \ documents \ visual studio 2015 \ Projects \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 59

Error CS0012 El tipo 'Objeto' se define en un ensamblaje al que no se hace referencia. Debe agregar una referencia al ensamblado 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes'. TestDI3.DNX Core 5.0 f: \ Users \ Shad \ documents \ visual studio 2015 \ Projects \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 59

Error CS0012 El tipo 'Tipo' se define en un ensamblaje al que no se hace referencia. Debe agregar una referencia al ensamblado 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes'. TestDI3.DNX Core 5.0 f: \ Users \ Shad \ documents \ visual studio 2015 \ Projects \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 63

Error CS0012 El tipo 'Expresión <>' se define en un ensamblado al que no se hace referencia. Debe agregar una referencia al ensamblado 'System.Core, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes'. TestDI3.DNX Core 5.0 f: \ Users \ Shad \ documents \ visual studio 2015 \ Projects \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 63

Error CS0012 El tipo 'Objeto' se define en un ensamblaje al que no se hace referencia. Debe agregar una referencia al ensamblado 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes'. TestDI3.DNX Core 5.0 f: \ Users \ Shad \ documents \ visual studio 2015 \ Projects \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 63

Error CS0012 El tipo 'Tipo' se define en un ensamblaje al que no se hace referencia. Debe agregar una referencia al ensamblado 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes'. TestDI3.DNX Core 5.0 f: \ Users \ Shad \ documents \ visual studio 2015 \ Projects \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 67

Error CS0012 El tipo 'Expresión <>' se define en un ensamblado al que no se hace referencia. Debe agregar una referencia al ensamblado 'System.Core, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes'. TestDI3.DNX Core 5.0 f: \ Users \ Shad \ documents \ visual studio 2015 \ Projects \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 67

Error CS0012 El tipo 'Objeto' se define en un ensamblaje al que no se hace referencia. Debe agregar una referencia al ensamblado 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes'. TestDI3.DNX Core 5.0 f: \ Users \ Shad \ documents \ visual studio 2015 \ Projects \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 67

Error CS0012 El tipo 'Tipo' se define en un ensamblaje al que no se hace referencia. Debe agregar una referencia al ensamblado 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes'. TestDI3.DNX Core 5.0 f: \ Users \ Shad \ documents \ visual studio 2015 \ Projects \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 89

Error CS0012 El tipo 'IDisposable' se define en un ensamblaje al que no se hace referencia. Debe agregar una referencia al ensamblado 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes'. TestDI3.DNX Core 5.0 f: \ Users \ Shad \ documents \ visual studio 2015 \ Projects \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 89

Error CS0411 Los argumentos de tipo para el método 'IContainer.GetInstance (string)' no se pueden inferir del uso. Intente especificar los argumentos de tipo explícitamente. TestDI3.DNX Core 5.0 f: \ Users \ Shad \ documents \ visual studio 2015 \ Projects \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 89

Error CS0012 El tipo 'IDisposable' se define en un ensamblaje al que no se hace referencia. Debe agregar una referencia al ensamblado 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes'. TestDI3.DNX Core 5.0 f: \ Users \ Shad \ documents \ visual studio 2015 \ Projects \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 107

Error CS0012 El tipo 'IDisposable' se define en un ensamblaje al que no se hace referencia. Debe agregar una referencia al ensamblado 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes'. TestDI3.DNX Core 5.0 f: \ Users \ Shad \ documents \ visual studio 2015 \ Projects \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 107

Error CS0012 El tipo 'IDisposable' se define en un ensamblaje al que no se hace referencia. Debe agregar una referencia al ensamblado 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes'. TestDI3.DNX Core 5.0 f: \ Users \ Shad \ documents \ visual studio 2015 \ Projects \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 120

El error CS1061 'IContainer' no contiene una definición para 'Dispose' y no se puede encontrar ningún método de extensión 'Dispose' que acepte un primer argumento de tipo 'IContainer' (¿falta una directiva de uso o una referencia de ensamblaje?) TestDI3.DNX Core 5.0 f: \ Users \ Shad \ documents \ visual studio 2015 \ Projects \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 120

Error CS0012 El tipo 'Acción <>' se define en un ensamblaje al que no se hace referencia. Debe agregar una referencia al ensamblado 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes'. TestDI3.DNX Core 5.0 f: \ Users \ Shad \ documents \ visual studio 2015 \ Projects \ TestDI3 \ src \ TestDI3 \ Startup.cs 94

Error CS0012 El tipo 'Objeto' se define en un ensamblaje al que no se hace referencia. Debe agregar una referencia al ensamblado 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes'. TestDI3.DNX Core 5.0 f: \ Users \ Shad \ documents \ visual studio 2015 \ Projects \ TestDI3 \ src \ TestDI3 \ Startup.cs 94

Error CS0012 El tipo 'Objeto' se define en un ensamblaje al que no se hace referencia. Debe agregar una referencia al ensamblado 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes'. TestDI3.DNX Core 5.0 f: \ Users \ Shad \ documents \ visual studio 2015 \ Projects \ TestDI3 \ src \ TestDI3 \ Startup.cs 107

Error CS0012 El tipo 'IDisposable' se define en un ensamblaje al que no se hace referencia. Debe agregar una referencia al ensamblado 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes'. TestDI3.DNX Core 5.0 f: \ Users \ Shad \ documents \ visual studio 2015 \ Projects \ TestDI3 \ src \ TestDI3 \ Startup.cs 107

Error CS0012 El tipo 'Objeto' se define en un ensamblaje al que no se hace referencia. Debe agregar una referencia al ensamblado 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes'. TestDI3.DNX Core 5.0 f: \ Users \ Shad \ documents \ visual studio 2015 \ Projects \ TestDI3 \ src \ TestDI3 \ Startup.cs 107

El error indica dónde está el problema: necesito una referencia a mscorlib 2.0.5.0. Pero ya estoy haciendo referencia a mscorlib 4.0.0.0 en el proyecto.

En este punto en ASP.NET <5, el siguiente paso normalmente sería agregar algunas redirecciones de enlace a<bindingRedirect> sección del archivo web.config. Sin embargo, después de buscar cómo hacer esto en ASP.NET 5, me encontré conesta respuesta lo que indica que la redirección de enlace se supone que es "totalmente automática".

Entonces, ¿es esto un error o hay algún paso en mi configuración que me perdí y que está causando este error?

Configuración

DNX 1.0.0-beta5

.NET Framework

x86

IIS Express

proyecto.json
{
    "webroot": "wwwroot",
    "userSecretsId": "aspnet5-TestDI3-1665343b-5aa5-4d08-8596-a1a536223a19",
    "version": "1.0.0-*",

    "dependencies": {
        "EntityFramework.SqlServer": "7.0.0-beta5",
        "EntityFramework.Commands": "7.0.0-beta5",
        "Microsoft.AspNet.Mvc": "6.0.0-beta5",
        "Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-beta5",
        "Microsoft.AspNet.Authentication.Cookies": "1.0.0-beta5",
        "Microsoft.AspNet.Authentication.Facebook": "1.0.0-beta5",
        "Microsoft.AspNet.Authentication.Google": "1.0.0-beta5",
        "Microsoft.AspNet.Authentication.MicrosoftAccount": "1.0.0-beta5",
        "Microsoft.AspNet.Authentication.Twitter": "1.0.0-beta5",
        "Microsoft.AspNet.Diagnostics": "1.0.0-beta5",
        "Microsoft.AspNet.Diagnostics.Entity": "7.0.0-beta5",
        "Microsoft.AspNet.Identity.EntityFramework": "3.0.0-beta5",
        "Microsoft.AspNet.Server.IIS": "1.0.0-beta5",
        "Microsoft.AspNet.Server.WebListener": "1.0.0-beta5",
        "Microsoft.AspNet.StaticFiles": "1.0.0-beta5",
        "Microsoft.AspNet.Tooling.Razor": "1.0.0-beta5",
        "Microsoft.Framework.Configuration.Abstractions": "1.0.0-beta5",
        "Microsoft.Framework.Configuration.Json": "1.0.0-beta5",
        "Microsoft.Framework.Configuration.UserSecrets": "1.0.0-beta5",
        "Microsoft.Framework.Logging": "1.0.0-beta5",
        "Microsoft.Framework.Logging.Console": "1.0.0-beta5",
        "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-beta5",
        "structuremap": "3.1.6.186"
    },

    "commands": {
        "web": "Microsoft.AspNet.Hosting --config hosting.ini",
        "ef": "EntityFramework.Commands"
    },

    "frameworks": {
        "dnx451": { },
        "dnxcore50": { }
    },

    "exclude": [
        "wwwroot",
        "node_modules",
        "bower_components"
    ],
    "publishExclude": [
        "node_modules",
        "bower_components",
        "**.xproj",
        "**.user",
        "**.vspscc"
    ],
    "scripts": {
        "prepublish": [ "npm install", "bower install", "gulp clean", "gulp min" ]
    }
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta