存储在Kestrel中的ASP.NET临时文件在哪里?

时间:2017-04-24 14:32:11

标签: macos asp.net-core-mvc .net-core

在我们的网络核心项目中,我们正在使用ViewComponents。

当我们更改ViewComponents之一引用的View时,当“dotnet run watch”运行时,最终结果不会更新,直到我们重新启动dotnet。使用我们的视图组件使用的相同代码创建新视图,使其更新和工作。尝试调试错误只是为了记住您需要重新启动dotnet

时,这非常令人沮丧

有人可以告诉我如何强制重新编译或忽略此缓存中的某些目录吗?

这发生在OSX上的.netcoreapp 1.1上

1 个答案:

答案 0 :(得分:1)

dotnet-watch保留正在观看的文件的内存列表。您可以通过运行dotnet watch --list来检查此列表。

默认情况下,dotnet-watch仅在Compile和EmbeddedResource项更改时重新启动进程。这通常只包括* .cs和* .resx文件,但可能包含其他文件,具体取决于您的项目。

要排除文件夹,您可以设置" Watch = false"关于这些项目。

<ItemGroup>
   <Compile Update="ignored_dir\**\*.cs" Watch="false" />
</ItemGroup>

您可以通过将<Watch>项添加到* .csproj文件来显式添加要监视的新文件类型。例子:

<ItemGroup>
   <Watch Include="*.js" />
   <Watch Include="somefile.txt" />
   <Watch Include="subdir\**\*" />
</ItemGroup>

为了清楚起见,dotnet-watch独立于Kestrel。

有关详细信息,请参阅https://github.com/aspnet/DotNetTools/tree/1.0.1/src/Microsoft.DotNet.Watcher.Tools#msbuild