Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
dotnet watch run öffnet http und https Fenster
Peter Bucher
myCSharp.de - Experte

Avatar #jVxXe7MDBPAimxdX3em3.jpg


Dabei seit:
Beiträge: 6141
Herkunft: Zentralschweiz

Themenstarter:

dotnet watch run öffnet http und https Fenster

beantworten | zitieren | melden

Hallo zusammen

Wenn ich ein neues ASP.NET 5 Projekt erstelle und dies per dotnet watch run starte, öffnet sich ein http :5000 und ein https:5001 Fenster. Ich möchte aber kein oder nur das https Fenster geöffnet haben.
Leider fand ich nicht wirklich passende Argumente und finde nicht, wo das konfiguriert werden kann.


watch : Started
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: http://localhost:5000
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: https://localhost:5001


Mit ASP.NET Core 3.1 war das Verhalten noch anders.


Grüsse Peter
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

- https://peterbucher.ch/ - Meine persönliche Seite
- https://fpvspots.net/ - Spots für FPV Dronenflüge
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15618
Herkunft: BW

beantworten | zitieren | melden

Das sind die Urls in der ASPNETCORE_URLS EnvVar.
Gibt mehrere Wege die zu konfigurieren:
- Launch-Options mit --urls
- Eben ASPNETCORE_URLS
- UseUrls in der Program.cs
- UseKestrel in der Program.cs
- launchSettings.json

und noch 2-3 andere.
Das ist übrigens schon seit ASP.NET Core 2 so.
private Nachricht | Beiträge des Benutzers
Peter Bucher
myCSharp.de - Experte

Avatar #jVxXe7MDBPAimxdX3em3.jpg


Dabei seit:
Beiträge: 6141
Herkunft: Zentralschweiz

Themenstarter:

beantworten | zitieren | melden

Hi Abt

Vielen vielen Dank! Wenn das klappt, erleichtert das schon einiges.
Mit ASP.NET Core 3.1 mit den gleichen launch.settings ging kein Fenster auf, darum dachte ich, es hätte keinen Zusammenhang. Denke aber es liegt an den dotnet.... Standardeinstellungen die sich mit 5.0 geändert haben.

Ich gucke mir das an und hoffe das klappt auch, wenn ich es von der Konsole aus starte.

Wie ist das eigentlich mit dotnet bundle start, wenn ich das als zweiten punkt in einer .bat file drin habe (nach einem dotnet watch start Aufruf), wird das ja nicht ausgeführt, gibt es da eine Möglichkeit?
Sodass die Bundles auch automatisch "gewatched" werden?
Mit 3.1 hat das eine Zeit lang funktioniert, mit dem nuget-Package - aber jetzt auch nicht mehr zuverlässig.
Ich starte halt gerne eine .bat file, wo ich dann mit CTR+C wieder beenden oder neu starten kann, wenns mal hängt und den Status sehe.

Habe nicht gerne VS immer im Debugmodus, sondern hänge die Instanz an, wenn ich debuggen möchte.

Grüsse Peter
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Peter Bucher am .
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

- https://peterbucher.ch/ - Meine persönliche Seite
- https://fpvspots.net/ - Spots für FPV Dronenflüge
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15618
Herkunft: BW

beantworten | zitieren | melden

Ach Dir ging es um das Window... jetzt hab ichs kapiert.
Sorry, da hab ich mich verlesen.

Also bei mir öffnet sich kein zusätzliches Fenster; wüsste auch nicht, dass das ein gewolltes Verhalten wäre.

Zitat
Wie ist das eigentlich mit dotnet bundle start, wenn ich das als zweiten punkt in einer .bat file drin habe (nach einem dotnet watch start Aufruf), wird das ja nicht ausgeführt, gibt es da eine Möglichkeit?

Wir hier mit dem Forum führen zunächst den WebCompiler als Pre-Build Event aus, der zB. SCSS in CSS umwandelt.

    <!-- Install Web Compiler Tool [url]excubo-ag/WebCompiler[/url] -->
    <Target Name="ToolRestore" BeforeTargets="PreBuildEvent">
        <Exec Command="dotnet tool update excubo.webcompiler" StandardOutputImportance="high" />
    </Target>
    <!-- Compile wwwroot -->
    <Target Name="PreBuild" AfterTargets="ToolRestore">
        <Exec Command="dotnet tool run webcompiler -r wwwroot/scss -c webcompilerconfiguration.json" StandardOutputImportance="high" />
    </Target>

Danach rennt im Build das Bundle. Das erfolgt automatisch, wenn man das NuGet dazu verwendet.

        <PackageReference Include="BuildBundlerMinifier" Version="3.2.449" />

Automatische Watches gibts nicht mehr.
private Nachricht | Beiträge des Benutzers
Peter Bucher
myCSharp.de - Experte

Avatar #jVxXe7MDBPAimxdX3em3.jpg


Dabei seit:
Beiträge: 6141
Herkunft: Zentralschweiz

Themenstarter:

beantworten | zitieren | melden

Hi Abt

Ja, wenn ich dotnet watch in der Konsole per .bat aufrufe, kommt ein Fenster. Muss also an was anderem liegen. Aber gut weiss ich jetzt, wie ich die URLs konfigurieren kann. Danke dir.

Wegen den Bundles: Ist es also so, dass das was ich in PreBuild aufnehme, ausgeführt wird, wenn dotnet watch am
rennen und dann eben neustarten ist. Weil er ja dann einen Rebuild macht, korrekt?

Sollte ja auch mit den dotnet Standard bundle Tools gehen. Dieses Weboptimizer ist ja neu jetzt.


Grüsse Peter
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

- https://peterbucher.ch/ - Meine persönliche Seite
- https://fpvspots.net/ - Spots für FPV Dronenflüge
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15618
Herkunft: BW

beantworten | zitieren | melden

Zitat von Peter Bucher
Ja, wenn ich dotnet watch in der Konsole per .bat aufrufe, kommt ein Fenster.
Wenn mich nicht alles täuscht, dann ist das ein Windows-Verhalten und hat mit .NET nichts zutun.
Zitat von Peter Bucher
Wegen den Bundles: Ist es also so, dass das was ich in PreBuild aufnehme, ausgeführt wird, wenn dotnet watch am
rennen und dann eben neustarten ist.
Nein, ein Pre-Build läuft nur vor dem Build.
Zitat von Peter Bucher
Sollte ja auch mit den dotnet Standard bundle Tools gehen. Dieses Weboptimizer ist ja neu jetzt.
Weboptimizer ist sehr alt, so alt, dass es schon unsupported ist.
WebCompiler ist ebenfalls so alt, dass die Variante von Mads ebenfalls schon out-of-dev ist und nur die Forks aktuell sind.

Der BuildBundlerMinifier ist das aktuellste, das Microsoft derzeit bietet.
Gibt hier aber kein Watch.

Watch gibts "offiziell" glaube ich nur via Gulp Task.
private Nachricht | Beiträge des Benutzers
Peter Bucher
myCSharp.de - Experte

Avatar #jVxXe7MDBPAimxdX3em3.jpg


Dabei seit:
Beiträge: 6141
Herkunft: Zentralschweiz

Themenstarter:

beantworten | zitieren | melden

Hmm Abt, vor dem Build ist nach dem Build oder?
D.h. bevor der Build startet, bzw. eben auch wenn er neustartet, würde es Sinn machen.

Es gibt also ausser gulp keine Möglichkeit, direkt live zu entwickeln out-of-the-box in 5.0. Wow.
Ich müsste mich übel täuschen; dachte das ging eine zeitlang in 3.1 problemlos.

Wie machst du denn das? Jedesmal manuell anstossen offenbar, oder mit gulp?
JS, CSS....?

Grüsse Peter
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

- https://peterbucher.ch/ - Meine persönliche Seite
- https://fpvspots.net/ - Spots für FPV Dronenflüge
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15618
Herkunft: BW

beantworten | zitieren | melden

Zitat von Peter Bucher
Es gibt also ausser gulp keine Möglichkeit, direkt live zu entwickeln out-of-the-box in 5.0. Wow.

Entwickeln von ASP.NET Core-Apps mit einem Dateiwatcher
Mehr kenne ich auch nicht.

Die Prio ist hier - meine Vermutung - in Zeiten von React und Co halt auch nicht exorbitant hoch...
Zitat von Peter Bucher
Wie machst du denn das? Jedesmal manuell anstossen offenbar, oder mit gulp?
JS, CSS....?

Außer die 15 Zeilen Java-Script Code für das Forum hab ich mit statischen Ressourcen eigentlich nichts zutun.
Im beruflichen Alltag mach ich 0% Razor-Stuff aber 100% Json / GraphQL / gRPC.
private Nachricht | Beiträge des Benutzers
Peter Bucher
myCSharp.de - Experte

Avatar #jVxXe7MDBPAimxdX3em3.jpg


Dabei seit:
Beiträge: 6141
Herkunft: Zentralschweiz

Themenstarter:

beantworten | zitieren | melden

Hi Abt

Folgendes sollte gehen: Bundling And Minifying In ASP.NET Core Applications
Precompile => dotnet bundle watch (Steht ein wenig weiter unten im Artikel.


Grüsse Peter
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Peter Bucher am .
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

- https://peterbucher.ch/ - Meine persönliche Seite
- https://fpvspots.net/ - Spots für FPV Dronenflüge
private Nachricht | Beiträge des Benutzers
Peter Bucher
myCSharp.de - Experte

Avatar #jVxXe7MDBPAimxdX3em3.jpg


Dabei seit:
Beiträge: 6141
Herkunft: Zentralschweiz

Themenstarter:

beantworten | zitieren | melden

Hi Abt

Das rennt tatsätchlich wie es soll. Die Einstellung die ich gesucht habe, war wirklich die URLs von ENV und launchBrowser. Vielen Dank!


    "MeinProjektName": {
      "commandName": "Project",
      "dotnetRunMessages": "true",
      "launchBrowser": false,
      "applicationUrl": "https://localhost:5001",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development",
        "ASPNETCORE_URLS": "https://localhost:5001"
      }
    }

Und rufe

dotnet watch run --no-launch-profile

auf; es geht kein Fenster auf :-)

edit: Die Code Hervorhebung ist cool hier im Forum!

Grüsse
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Peter Bucher am .
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

- https://peterbucher.ch/ - Meine persönliche Seite
- https://fpvspots.net/ - Spots für FPV Dronenflüge
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15618
Herkunft: BW

beantworten | zitieren | melden

Top!
Zitat
Die Code Hervorhebung ist cool hier im Forum

Ist die Light-Version der Visual Studio Colors :-)
private Nachricht | Beiträge des Benutzers
Peter Bucher
myCSharp.de - Experte

Avatar #jVxXe7MDBPAimxdX3em3.jpg


Dabei seit:
Beiträge: 6141
Herkunft: Zentralschweiz

Themenstarter:

beantworten | zitieren | melden

Hi Abt

Ich kann nicht mehr editieren. Ist die Einstellung doch nicht korrekt bei "Experten"?

Nachtrag: Wenn das Kommando "dotnet bundle" nicht gefunden wird, fehlt wohl noch was
=> dotnet-bundle-not-working-in-net-core-mvc-application

Gruss Peter
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Peter Bucher am .
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

- https://peterbucher.ch/ - Meine persönliche Seite
- https://fpvspots.net/ - Spots für FPV Dronenflüge
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15618
Herkunft: BW

beantworten | zitieren | melden

Bitte irgendwelche Fehler nur, wirklich nur in Sammelthema Wünsche und Bugreports myCSharp posten. Danke!

private Nachricht | Beiträge des Benutzers
Peter Bucher
myCSharp.de - Experte

Avatar #jVxXe7MDBPAimxdX3em3.jpg


Dabei seit:
Beiträge: 6141
Herkunft: Zentralschweiz

Themenstarter:

beantworten | zitieren | melden

Hi Abt

Alles klar, mache ich.

--

Also hier meine Lösung für ASP.NET Core 5.0, um dotnet watch auch für Bundles zu aktivieren.

BuildBundlerMinifier installieren:
- https://www.nuget.org/packages/BuildBundlerMinifier/

Wenn dotnet watch genutzt wird, kann die Projektdatei wie folgt angepasst werden, damit dotnet watch neustartet,
dies tut der Bundler dann auch.
Dies ist auch bspw. für CSS oder für einzelne Dateien möglich.


<ItemGroup>
    <!-- extends watching group to include *.js files -->
    <Watch Include="**\*.js" Exclude="node_modules\**\*.js;$(DefaultExcludes)" />
</ItemGroup>

Viel Erfolg :-)


Grüsse Peter
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

- https://peterbucher.ch/ - Meine persönliche Seite
- https://fpvspots.net/ - Spots für FPV Dronenflüge
private Nachricht | Beiträge des Benutzers