当我在浏览器中刷新页面时,如何在 ASP.NET Core 2.2 中启用自动重建?
How to enable automatic rebuild in ASP.NET Core 2.2 when I refresh page in the browser?
此功能在 ASP.NET Core 2.1 中默认工作,但不适用于当前最新的 2.2.
我刚刚在 Visual Studio 2017(社区版)中创建了两个基本 ASP.NET 核心 API 项目,一个使用 2.1 模板,另一个使用 2.2 模板。然后我 运行 这两个项目都使用 Ctrl + F5 (例如,没有调试)。当我为每个人转到 /api/values url 时,我得到默认值 JSON。到目前为止,一切都很好。
现在,当我在 2.1 项目中更改 ValuesController.cs 并在浏览器中点击刷新时,我发现加载需要一些时间,因为 Web 服务器检测到更改并正在重建项目,然后我得到新的 JSON 值。
但是,当我对 2.2 重复相同的过程并在浏览器中点击刷新时,我会立即获得旧值(例如,没有进行项目构建)。
那么如何在 2.2 中启用此功能?
我找到的解决方案是删除或注释掉项目 .csproj
文件中的 <AspNetCoreHostingModel>
XML 节点。所以它看起来像这样:
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<!--<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>-->
</PropertyGroup>
现在,如果您 运行 ASP.NET 使用 Ctrl + F5 的核心应用程序(没有调试器),它将检测 .cs 文件中的更改并在您提出请求时 运行 重新编译取决于新代码。
此功能在 ASP.NET Core 2.1 中默认工作,但不适用于当前最新的 2.2.
我刚刚在 Visual Studio 2017(社区版)中创建了两个基本 ASP.NET 核心 API 项目,一个使用 2.1 模板,另一个使用 2.2 模板。然后我 运行 这两个项目都使用 Ctrl + F5 (例如,没有调试)。当我为每个人转到 /api/values url 时,我得到默认值 JSON。到目前为止,一切都很好。
现在,当我在 2.1 项目中更改 ValuesController.cs 并在浏览器中点击刷新时,我发现加载需要一些时间,因为 Web 服务器检测到更改并正在重建项目,然后我得到新的 JSON 值。 但是,当我对 2.2 重复相同的过程并在浏览器中点击刷新时,我会立即获得旧值(例如,没有进行项目构建)。
那么如何在 2.2 中启用此功能?
我找到的解决方案是删除或注释掉项目 .csproj
文件中的 <AspNetCoreHostingModel>
XML 节点。所以它看起来像这样:
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<!--<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>-->
</PropertyGroup>
现在,如果您 运行 ASP.NET 使用 Ctrl + F5 的核心应用程序(没有调试器),它将检测 .cs 文件中的更改并在您提出请求时 运行 重新编译取决于新代码。