Laden...

VS 2017 - Automatischer rebuild von WebApp bei Änderung in referenzierter RCL

Erstellt von MyT vor 5 Jahren Letzter Beitrag vor 5 Jahren 1.509 Views
M
MyT Themenstarter:in
3 Beiträge seit 2016
vor 5 Jahren
VS 2017 - Automatischer rebuild von WebApp bei Änderung in referenzierter RCL

Hallo,

ich bin auf der Suche nach einer praktisch sinnvollen Lösung für Visual Studio 2017, beim abspeichern von Änderung in einer RCL (Razor Class Library) automatisch einen rebuild der zugehörigen WebApp anzustoßen.

Folgendes Szenario:

In VS habe ich eine Solution mit einer AspNetCore 2.1 WebApp und einer RCL in welche ich Razor-Pages auslagern möchte. Die RCLs referenziere ich natürlich in der Webapp. Die WebApp läuft während der Entwicklung fast permanent und wurde mit "Start without Debugger" gestartet. Der Launch-Parameter ist "Project" (nicht per IIS) damit ich in der CMD den Output sehe.

Wenn ich nun in der RCL den Quellcode ändere und im Browser die Seite neu lade, wird die Änderung derzeit nicht im Browser ersichtlich da nichts an der WebApp verändert wurde und so auch kein rebuild derer stattfindet. Ich muss jedes mal die WebApp komplett neu starten um die Änderung im Browser zu sehen.

Die Option unter Tools->Options:Projects and Solution->ASP.NET Core: Autobuild on browser request steht auf true.

Wenn ich Veränderungen am Code der WebApp speichere und im Browser die Seite neu lade wird mir die Veränderung angezeigt, allerdings nicht wenn ich ausschließlich Quellcode in der RCL speichere.

Hat jemand einen Tipp wie ich bei Veränderung des RCL Codes Visual Studio dazu bringe auch einen rebuild der WebApp durchzuführen sobald ich im Browser die entsprechende Seite neu lade?
Oder gar einen

Jedes mal das Projekt komplett neu zu starten finde ich etwas Umständlich und nicht zuletzt auch ineffizient.

Danke. 😃

16.807 Beiträge seit 2008
vor 5 Jahren

Gibt derzeit nichts dafür. Auch BrowserLink unterstützt dies derzeit nicht.

Ein Live Edit ist ohnehin nur bei statischen Ressourcen möglich.
Alles andere muss neu kompiliert werden - auch Razor Class Libraries.

M
MyT Themenstarter:in
3 Beiträge seit 2016
vor 5 Jahren

Danke für deine Antwort und dem "Wink" zu BrowserLink.

Mit BrowserLink geht es zumindest schon mal etwas flotter.
Ein Klick auf BrowserLink in VS (vorausgesetzt der Browser ist dort registriert) stoppt Kestrel, stößt ein rebuild der WebApp (und RCL) an und startet Kestrel wieder. Im Browser bleibt die zuletzt geöffnete Seite sichtbar, wird aber aktualisiert.

Erspart mir einige Handgriffe. Danke dafür! 👍

16.807 Beiträge seit 2008
vor 5 Jahren

Dann haben sie das mittlerweile integriert. Vor einiger Zeit noch hat BrowserLink nicht drauf reagiert.

M
MyT Themenstarter:in
3 Beiträge seit 2016
vor 5 Jahren

Die letzten Änderungen an der Extension sind gut 6 Monate her.
Möglicherweise liegt es aber auch am installierten Nuget-Paket.

Für BrowserLink existieren 2:

  1. Microsoft.VisualStudio.Web.BrowserLink (derzeit v2.1.1)
  2. Microsoft.VisualStudio.Web.BrowserLink.Loader (derzeit v14.1.0)

Für AspNet Core 2.1 Apps verwende ich das 1. Paket.
Man muss aber auch darauf achten, dass BrowserLink in den Optionen des Toolbar-Buttons aktiviert ist, laut Github Issues ist es standardmäßig ab VS2017 15.3 nicht aktiviert.
Mit ASP.NET Core 2.0 ging das 2. Paket auch noch. Bei einer Migration von 2.0 auf 2.1 sollte man auch auf ersteres umschwenken.

16.807 Beiträge seit 2008
vor 5 Jahren

Damit meine ich eine potentielle Änderung in Visual Studio in Sachen RCL - nicht NuGet.