簡體   English   中英

是否可以在調試期間在 Razor 類庫中編輯 Razor 頁面 (.cshtml) 而無需重新啟動? VS 2017

[英]It's possible to editing Razor page (.cshtml) in Razor Class Library during debugging without restart? VS 2017

我有一個ASP.Net MVC Core application ,它引用了具有SomePage.cshtmlRazor class library

在調試應用程序時,我可以在應用程序ASP.Net MVC Core中編輯頁面,並且更改會反映在瀏覽器中(刷新后)。

但是當我在Razor Class Library中編輯頁面時,更改在瀏覽器中不可見(刷新后)。 我需要停止應用程序並重新啟動 - 然后更改將在瀏覽器中可見。

有什么方法可以在不重新啟動的情況下刷新 Razor 類庫中的已編輯頁面?

那不可能 在.NET中,必須在執行代碼之前編譯所有類庫,並且已編譯的引用包含在原始項目中。 因此對類庫的任何更改都必須重新編譯。因此,我們需要停止項目來編譯代碼並更新引用。

安裝Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation包后可能。

然后配置:

public void ConfigureServices(IServiceCollection services)
{
    services.AddRazorPages();

    services.Configure<MvcRazorRuntimeCompilationOptions>(options =>
    {
        var libraryPath = Path.GetFullPath(
            Path.Combine(HostEnvironment.ContentRootPath, "..", "MyClassLib"));
        options.FileProviders.Add(new PhysicalFileProvider(libraryPath));
    });
}

更多細節在這里

您可以在不停止解決方案的情況下編輯.chtml文件。 只需在更正后刷新頁面即可。 如果您使用的是Visual Studio,則也可以通過更改設置來編輯c#代碼。 按Shift + F5鍵進行硬刷新

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM