如何从 dotnet watch run 中排除某些文件类型?

Sos*_*der 8 msbuild csproj .net-core dotnet-tool

希望进行以下设置:

我正在开发 Blazor 应用程序,并使用官方的 css 隔离捆绑器。不过,我使用的是Less,并安装了 Less 转换器,它在构建时创建所需的 css。

然而,通过运行我的应用程序dotnet watch run,它现在通常会陷入无限循环。

其原因可能是dotnet watch run看到文件发生更改*.razor.css、重建,并且循环不断重复。

所以这是我的问题:

如何配置我的 csproj(新的网络标准格式)以**\*.razor.css从监视过程中排除?如果它从我的 VS 解决方案整体中消失也没关系。

小智 11

玩过上面的两个答案,但都不适合我。我在构建过程中生成了一些文件,这可能就是为什么其他两个文件不适合我的原因。根据上面共享的 Microsoft 文档(https://learn.microsoft.com/en-us/aspnet/core/tutorials/dotnet-watch?view=aspnetcore-3.1),要从手表中删除项目,您也可以通过设置它定义。这样做对我的场景有用。

<ItemGroup>
    <Content Remove="wwwroot\dist\**" />
    <Content Include="wwwroot\dist\**" Watch="false" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

我确实必须添加内容删除,否则该项目会被声明两次并且构建将会失败。

  • 谢谢!提示:这可以通过 `&lt;Content Update="wwwroot\dist\**" Watch="false" /&gt;` 更简单地实现。 (2认同)
  • 对于任何陷入困境的人来说,另一个提示是项目目录中的“dotnet watch --list”会准确告诉您将监视哪些文件,因此您可以轻松测试这些更改。 (2认同)

ade*_*emg 1

请编辑您的.csproj文件并向其中添加以下内容

<ItemGroup>  
    <Watch Exclude="**\*.razor.css" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

更多信息请访问

https://learn.microsoft.com/en-us/aspnet/core/tutorials/dotnet-watch?view=aspnetcore-3.1

  • 嘿,谢谢,我已经尝试过这个 - 但是,我收到以下错误:错误 MSB4232:目标元素之外的项目必须具有以下操作之一:包含、更新或删除。 (5认同)