2016-11-12 3 views
0

Ich folge this guide und in Schritt 4, ich bin gefragt finden drei Zeilen in die project.json Datei hinzuzufügen (was ich tat und lief dann Dotnet wiederherstellen viele aktualisierte Pakete bekommen).Die Methode kann nicht app.UseStaticFiles()

Wenn ich die drei Linien in der Configure Methode eingeben, bekomme ich rote Linien auf allen von ihnen. Die Verfahren nicht erkannt werden, sofern keine intellisense usw.

I auch bemerkt, dass in dem Beispiel in der Führung, werden nur die Methodensignatur einen Parameter IApplicationBuilder, während die man nimmt erhielt I erzeugt (unter Verwendung des yo aspnet Befehl) sieht so aus.

Configure(IApplicationBuilder, IHostingEnvironment, ILoggerFactory); 

Ich bin mir nicht sicher, wie es gelöst werden soll. Meine Vermutung ist, dass es eine neue Version von etwas im Prozess gibt (Yo, Generators, Core etc.), aber ich bin mir nicht ganz sicher.

Ich habe auch this blog gefunden, wo die Methodensignatur der ähnelt, die ich bekomme. Der Autor schlägt jedoch die gleiche Syntax vor, die für mich nicht funktioniert. Ich schätze, es ist eine Frage der Verweise auf die falschen Bibliotheken. Wie gehe ich an das Problem heran?

+0

Zuerst verwendet das Tutorial eine veraltete Version, zumindest die Screenshots sind rc1, von denen Sie nicht mehr abhängig sein sollten.Alles was älter ist als rc2 kannst du sicher wegschmeißen, da die Änderungen von rc1 zu rc2 zu groß waren (geändert von dnx zu dotnet cli, Paket und Namespaces geändert und auch ein paar Bits der API) – Tseng

+0

@Tseng Das ist so uncool. .. Ich habe den größten Teil des Samstags damit verschwendet, dass ich in der Tabelle hatte, um all das zu verstehen, weil es keinen Sinn ergab ... Hätte früher gefragt werden müssen, hehe. Vielen Dank! Posten Sie es als Antwort auch. Es muss akzeptiert werden. –

+0

@Tseng Ist das ganze über das * Yo * -Paket auch veraltet oder wird es noch benutzt? Ich kann nicht sagen ... –

Antwort

1

Gemessen an den Screenshots im verknüpften Tutorial, es über ASP.NET Core RC1 (damals genannt ASP.NET 5 R1-Finale). Sie können dies an den Paket- und Namespace-Namen leicht erkennen. Microsoft.AspNet.* wird bis rc1 verwendet.

Beginnend mit RC2 wurden die Pakete umbenannt in Microsoft.AspNetCore.*, um es klarer zu machen, ein neues Framework und nicht so viel kompatibel mit Legacy ASP.NET.

The UseIISPlatformHandler() ist nicht mehr da, es ist jetzt UseIISIntegration() im Main(...) Methode:

public class Program 
{ 
    public static void Main(string[] args) 
    { 
     var host = new WebHostBuilder() 
      .UseKestrel() 
      .UseContentRoot(Directory.GetCurrentDirectory()) 
      .UseIISIntegration() 
      .UseStartup<Startup>() 
      .Build(); 

     host.Run(); 
    } 
} 

Und die Pakete das Paket Microsoft.AspNetCore.Server.IISIntegration": "1.0.0" und "Microsoft.AspNetCore.Server.Kestrel": "1.0.1". Für statische Dateien lautet es: "Microsoft.AspNetCore.StaticFiles": "1.0.0".

Für die Configure Überlastung: Configure(IApplicationBuilder); ist standardmäßig ein, aber Sie können jede andere Art hinzufügen, die mit dem Dependency Injection-System registriert ist (in ConfigureServices-Methode), da es eine Konvention System (die startup.cs) ist.

1

Für Asp.Net Core MVC müssen Sie Nuget Paket

installieren-Paket "Microsoft.AspNetCore.StaticFiles"

2

Das Handbuch ist veraltet installieren. Der aktualisierte .Net-Kern verwendet project.json nicht mehr, was bedauerlich ist. Stattdessen ist es jetzt Teil der csproj-Datei. Um die statische Dateibibliothek hinzuzufügen, müssen Sie sie mit nuget packet manager zum Projekt hinzufügen. Und wenn Sie neu aufbauen, sehen Sie einen Eintrag in der csproj-Datei für diese Bibliothek. Ich denke, dass die project.json eine großartige Idee war, die mit der Core-Opt-In-Methode einherging, da es Intellisense ermöglichen würde, bei der Auswahl aus verfügbaren Bibliotheken zu helfen. Und da csproj-Datei nicht direkt in Lösung bearbeitet werden kann, verlieren Sie diese Funktion.

Verwandte Themen