![](/img/trans.png)
[英]“#” sign cannot be in csproj/sln pathname when debugging Razor class library in VS2017
[英]It's possible to editing Razor page (.cshtml) in Razor Class Library during debugging without restart? VS 2017
我有一個ASP.Net MVC Core application
,它引用了具有SomePage.cshtml
的Razor 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.