默认情况下,此功能在ASP.NET Core 2.1 中有效,但不适用于当前最新的 2.2 。
我刚刚在Visual Studio 2017(社区版)中创建了两个基本的ASP.NET Core API项目,一个带有2.1模板,另一个带有2.2模板。然后,我使用Ctrl + F5运行两个项目(例如,不进行调试)。当我分别访问它们的 / api / values 网址时,将获得默认的JSON。到目前为止,一切都很好。
现在,当我在 2.1 项目中更改ValuesController.cs并在浏览器中单击刷新时,我发现加载需要一些时间,因为Web服务器检测到更改并正在重建项目,然后我得到了新的JSON值。 但是,当我对 2.2 重复相同的过程并在浏览器中单击“刷新”时,我会立即获得旧值(例如,未进行任何项目构建)。
那么如何在 2.2 中启用此功能?
答案 0 :(得分:1)
我找到的解决方案是删除或注释掉项目<AspNetCoreHostingModel>
文件中的.csproj
XML节点。所以看起来像这样:
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<!--<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>-->
</PropertyGroup>
现在,如果您使用Ctrl + F5(不带调试器)运行ASP.NET Core应用程序,它将检测.cs文件中的更改并在您发出依赖新代码的请求时在运行时重新编译。