2016-07-11 5 views
4

Ich möchte die Standard-URL (http://localhost:5000) ändern, wenn ich die Website als eine Konsolenanwendung ausführen.Asp.Net Core Änderung URL in launchSettings.json funktioniert nicht

ich launchSettings.json bearbeitet, aber es funktioniert nicht ... es noch verwendet Port 5000:

{ 
    "iisSettings": { 
    "windowsAuthentication": false, 
    "anonymousAuthentication": true, 
    "iisExpress": { 
     "applicationUrl": "http://localhost:4230/", 
     "sslPort": 0 
    } 
    }, 
    "profiles": { 
    "IIS Express": { 
     "commandName": "IISExpress", 
     "launchBrowser": true, 
     "environmentVariables": { 
     "ASPNETCORE_ENVIRONMENT": "Development" 
     } 
    }, 
    "website": { 
     "commandName": "Project", 
     "launchBrowser": true, 
     "launchUrl": "http://localhost:80", 
     "environmentVariables": { 
     "ASPNETCORE_ENVIRONMENT": "Development" 
     } 
    } 
    } 
} 
+0

Haben Sie versucht, die URL über Projekteigenschaften zu ändern, anstatt die Launcher.json zu bearbeiten? Ich würde vermuten, VS aktualisiert die IIS Express web.config Dateien mit der URL, wenn Sie es über die Benutzeroberfläche tun, aber nicht, wenn Sie es im JSON ausführen – Tseng

+0

Es gibt zwei Stellen, wo die IISExpress-Ports konfiguriert sind. Die erste ist '% userprofile% \ Documents \ IISExpress \ config' in' applicationhost.config'. Der andere befindet sich im gesamten Ordner '.vs/config ', derselbe Dateiname. Diese bestimmen die Port-Nummer, die verwendet wird, wenn IIS Express die Anwendung startet – Tseng

+0

http://benfoster.io/blog/how-to-configure-kestrel-urls-in-aspnet-core-rc2 Überprüfen Sie dies kann Ihnen helfen –

Antwort

1

Dies ist ein bekanntes Problem (I zu einem Thema auf GitHub nicht zeigen kann, wie es eine eingereicht wurde privates Repo).

+0

Gibt es eine reparieren? Ich nehme an, es funktioniert in IIS, oder? –

+0

Ja, es funktioniert mit IIS Express. Ich bin mir nicht sicher, ob es jetzt einen Workaround dafür gibt. Sie können die App (ex: dotnet run) wie gewohnt von der Kommandozeile aus starten. –

+0

Ist nicht launchSettings.json nur dort für Visual Studio, um die Dropdown zu bieten, um eine zu wählen, wenn Sie in Visual Studio ausführen/debuggen, weil Sie Umgebungsvariablen nicht anders beim Debuggen von VS – Tseng

2

Mit Kestrel können Sie den Port mit hosting.json Datei angeben.

hinzufügen hosting.json mit folgendem Inhalt an Ihr Projekt:

{ 
    "server.urls": "http://0.0.0.0:5002" 
} 

und für die Anwendung Aufruf“.UseConfiguration

"publishOptions": { 
"include": [ 
    "hosting.json" 
    ] 
} 

und Einstiegspunkt zu publishOptions in project.json hinzufügen (config) "beim Erstellen von WebHostBuilder:

 public static void Main(string[] args) 
     { 
      var config = new ConfigurationBuilder() 
       .SetBasePath(Directory.GetCurrentDirectory()) 
       .AddJsonFile("hosting.json", optional: true) 
       .Build(); 

      var host = new WebHostBuilder() 
       .UseConfiguration(config) 
       .UseKestrel() 
       .UseContentRoot(Directory.GetCurrentDirectory()) 
       .UseIISIntegration() 
       .UseStartup<Startup>() 
       .Build(); 

      host.Run(); 
     } 
+2

Alternativ, Kette auf '.UseUrls (" http: // localhost: 5002 ")' nach Instanziierung des WebHostBuilder – Zac

+3

Nichts funktioniert in ASP.NET Core-Anwendung –

Verwandte Themen