Was kann ich tun, wenn ASP.NET 5 (vNext) Bindungen nicht umleiten kann?

Ich bin gerade dabei, meine Füße mit MVC 6 nass zu machen. Ich habe VS 2015 installiert und mit der StandardeinstellungASP.NET 5 preview MVC Web Application Vorlage alles läuft gut unter lokalen IIS.

Ich habe dann versucht, den Default DI-Container mit @ auszutauscheStructureMap folgenddiese Anleitung genau (beachten Sie, es ist ein sehr neuer Artikel). Die einzige Sache ist, dass ich die Namespaces herausfinden musste, um sie selbst zu importieren (da der Autor es versäumt hat, sie einzuschließen), und das habe ich eingeschlossen.

Ich habe dasStructureMapRegistration class und alle zugehörigen Klassen in einer einzigen Datei, und hier sind die Verwendungen.

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

Ich habe die folgenden Verwendungen zum @ hinzugefüStartup.cs Datei

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

Und ich habe das @ folgendermaßen bearbeitStartup.cs Datei

// 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);
}

Literally, thenu Dinge, die ich von der Standardvorlage geändert habe, sind die obigen Codeänderungen und die Installation vonStructureMap 3.1.6.186.

Die using-Anweisungen unterdrücken alle Fehler beim Kompilieren der Entwurfszeit, aber beim Erstellen werden mehrere andere Fehler angezeigt.

Error CS0012 Der Typ 'Aktion <>' ist in einer Assembly definiert, auf die nicht verwiesen wird. Sie müssen einen Verweis auf die Assembly 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes' hinzufügen. TestDI3.DNX Core 5.0 f: \ Benutzer \ Shad \ Dokumente \ Visual Studio 2015 \ Projekte \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 32

Error CS0012 Der Typ "IDisposable" ist in einer Assembly definiert, auf die nicht verwiesen wird. Sie müssen einen Verweis auf die Assembly 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes' hinzufügen. TestDI3.DNX Core 5.0 f: \ Benutzer \ Shad \ Dokumente \ Visual Studio 2015 \ Projekte \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 32

Error CS0012 Der Typ 'Func <,>' ist in einer Assembly definiert, auf die nicht verwiesen wird. Sie müssen einen Verweis auf die Assembly 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes' hinzufügen. TestDI3.DNX Core 5.0 f: \ Benutzer \ Shad \ Dokumente \ Visual Studio 2015 \ Projekte \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 59

Error CS0012 Der Typ 'Objekt' ist in einer Assembly definiert, auf die nicht verwiesen wird. Sie müssen einen Verweis auf die Assembly 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes' hinzufügen. TestDI3.DNX Core 5.0 f: \ Benutzer \ Shad \ Dokumente \ Visual Studio 2015 \ Projekte \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 59

Error CS0012 Der Typ 'Typ' ist in einer Assembly definiert, auf die nicht verwiesen wird. Sie müssen einen Verweis auf die Assembly 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes' hinzufügen. TestDI3.DNX Core 5.0 f: \ Benutzer \ Shad \ Dokumente \ Visual Studio 2015 \ Projekte \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 63

Error CS0012 Der Typ 'Ausdruck <>' ist in einer Assembly definiert, auf die nicht verwiesen wird. Sie müssen einen Verweis auf die Assembly 'System.Core, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes' hinzufügen. TestDI3.DNX Core 5.0 f: \ Benutzer \ Shad \ Dokumente \ Visual Studio 2015 \ Projekte \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 63

Error CS0012 Der Typ 'Objekt' ist in einer Assembly definiert, auf die nicht verwiesen wird. Sie müssen einen Verweis auf die Assembly 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes' hinzufügen. TestDI3.DNX Core 5.0 f: \ Benutzer \ Shad \ Dokumente \ Visual Studio 2015 \ Projekte \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 63

Error CS0012 Der Typ 'Typ' ist in einer Assembly definiert, auf die nicht verwiesen wird. Sie müssen einen Verweis auf die Assembly 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes' hinzufügen. TestDI3.DNX Core 5.0 f: \ Benutzer \ Shad \ Dokumente \ Visual Studio 2015 \ Projekte \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 67

Error CS0012 Der Typ 'Ausdruck <>' ist in einer Assembly definiert, auf die nicht verwiesen wird. Sie müssen einen Verweis auf die Assembly 'System.Core, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes' hinzufügen. TestDI3.DNX Core 5.0 f: \ Benutzer \ Shad \ Dokumente \ Visual Studio 2015 \ Projekte \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 67

Error CS0012 Der Typ 'Objekt' ist in einer Assembly definiert, auf die nicht verwiesen wird. Sie müssen einen Verweis auf die Assembly 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes' hinzufügen. TestDI3.DNX Core 5.0 f: \ Benutzer \ Shad \ Dokumente \ Visual Studio 2015 \ Projekte \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 67

Error CS0012 Der Typ 'Typ' ist in einer Assembly definiert, auf die nicht verwiesen wird. Sie müssen einen Verweis auf die Assembly 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes' hinzufügen. TestDI3.DNX Core 5.0 f: \ Benutzer \ Shad \ Dokumente \ Visual Studio 2015 \ Projekte \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 89

Error CS0012 Der Typ "IDisposable" ist in einer Assembly definiert, auf die nicht verwiesen wird. Sie müssen einen Verweis auf die Assembly 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes' hinzufügen. TestDI3.DNX Core 5.0 f: \ Benutzer \ Shad \ Dokumente \ Visual Studio 2015 \ Projekte \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 89

Error CS0411 Die Typargumente für die Methode 'IContainer.GetInstance (string)' können nicht aus der Verwendung abgeleitet werden. Versuchen Sie, die Typargumente explizit anzugeben. TestDI3.DNX Core 5.0 f: \ Benutzer \ Shad \ Dokumente \ Visual Studio 2015 \ Projekte \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 89

Error CS0012 Der Typ "IDisposable" ist in einer Assembly definiert, auf die nicht verwiesen wird. Sie müssen einen Verweis auf die Assembly 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes' hinzufügen. TestDI3.DNX Core 5.0 f: \ Benutzer \ Shad \ Dokumente \ Visual Studio 2015 \ Projekte \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 107

Error CS0012 Der Typ "IDisposable" ist in einer Assembly definiert, auf die nicht verwiesen wird. Sie müssen einen Verweis auf die Assembly 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes' hinzufügen. TestDI3.DNX Core 5.0 f: \ Benutzer \ Shad \ Dokumente \ Visual Studio 2015 \ Projekte \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 107

Error CS0012 Der Typ "IDisposable" ist in einer Assembly definiert, auf die nicht verwiesen wird. Sie müssen einen Verweis auf die Assembly 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes' hinzufügen. TestDI3.DNX Core 5.0 f: \ Benutzer \ Shad \ Dokumente \ Visual Studio 2015 \ Projekte \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 120

Error CS1061 'IContainer' enthält keine Definition für 'Dispose' und es wurde keine Erweiterungsmethode 'Dispose' gefunden, die ein erstes Argument vom Typ 'IContainer' akzeptiert (fehlt eine using-Direktive oder eine Assembly-Referenz?) TestDI3.DNX Core 5.0 f: \ Benutzer \ Shad \ Dokumente \ Visual Studio 2015 \ Projekte \ TestDI3 \ src \ TestDI3 \ Services \ StructureMapRegistration.cs 120

Error CS0012 Der Typ 'Aktion <>' ist in einer Assembly definiert, auf die nicht verwiesen wird. Sie müssen einen Verweis auf die Assembly 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes' hinzufügen. TestDI3.DNX Core 5.0 f: \ Benutzer \ Shad \ Dokumente \ Visual Studio 2015 \ Projekte \ TestDI3 \ src \ TestDI3 \ Startup.cs 94

Error CS0012 Der Typ 'Objekt' ist in einer Assembly definiert, auf die nicht verwiesen wird. Sie müssen einen Verweis auf die Assembly 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes' hinzufügen. TestDI3.DNX Core 5.0 f: \ Benutzer \ Shad \ Dokumente \ Visual Studio 2015 \ Projekte \ TestDI3 \ src \ TestDI3 \ Startup.cs 94

Error CS0012 Der Typ 'Objekt' ist in einer Assembly definiert, auf die nicht verwiesen wird. Sie müssen einen Verweis auf die Assembly 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes' hinzufügen. TestDI3.DNX Core 5.0 f: \ Benutzer \ Shad \ Dokumente \ Visual Studio 2015 \ Projekte \ TestDI3 \ src \ TestDI3 \ Startup.cs 107

Error CS0012 Der Typ "IDisposable" ist in einer Assembly definiert, auf die nicht verwiesen wird. Sie müssen einen Verweis auf die Assembly 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes' hinzufügen. TestDI3.DNX Core 5.0 f: \ Benutzer \ Shad \ Dokumente \ Visual Studio 2015 \ Projekte \ TestDI3 \ src \ TestDI3 \ Startup.cs 107

Error CS0012 Der Typ 'Objekt' ist in einer Assembly definiert, auf die nicht verwiesen wird. Sie müssen einen Verweis auf die Assembly 'mscorlib, Version = 2.0.5.0, Culture = neutral, PublicKeyToken = 7cec85d7bea7798e, Retargetable = Yes' hinzufügen. TestDI3.DNX Core 5.0 f: \ Benutzer \ Shad \ Dokumente \ Visual Studio 2015 \ Projekte \ TestDI3 \ src \ TestDI3 \ Startup.cs 107

Der Fehler zeigt an, wo das Problem liegt - ich benötige einen Verweis auf mscorlib 2.0.5.0. Ich beziehe mich aber schon auf mscorlib 4.0.0.0 im Projekt.

An diesem Punkt in ASP.NET <5 besteht der nächste Schritt normalerweise darin, dem @ einige Bindungsumleitungen hinzuzufüge<bindingRedirect>bschnitt @ der Datei web.config. Nachdem ich in ASP.NET 5 nach einer Anleitung gesucht hatte, stieß ich aufdiese Antwort gibt an, dass die Bindungsumleitung "vollautomatisch" sein soll.

So ist dies ein Fehler, oder gibt es einen Schritt in meiner Konfiguration, den ich übersehen habe und der zu diesem Fehler führt?

Aufba

DNX 1.0.0-beta5

.NET Framework

x86

IIS Express

project.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" ]
    }
}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage