【问题标题】:Razor files automatically excluded from watch & build in Visual Studio 2019 preview在 Visual Studio 2019 预览版中自动从监视和构建中排除 Razor 文件
【发布时间】:2021-02-19 23:06:49
【问题描述】:

当我添加一个新的.RAZOR 文件时,它将自动从“监视”中排除,并且没有构建操作。

我需要手动编辑 .CSPROJ 文件以删除排除项并删除构建操作设置。

使用的工具+扩展:

  • Microsoft Visual Studio Professional 2019 预览版(版本 16.8.0 预览版 5.0)
  • Resharper Ultimate (2020.2.4)
  • Web 编译器 (1.12.394)(启用/禁用无关紧要)

我当前的 CSPROJ 文件,它是如何工作的:

<Project Sdk="Microsoft.NET.Sdk.Web">
    <PropertyGroup>
        <TargetFramework>net5.0</TargetFramework>
        <UserSecretsId>**</UserSecretsId>
        <DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
        <TypeScriptToolsVersion>4.0.5</TypeScriptToolsVersion>
    </PropertyGroup>

    <ItemGroup>
        <Content Remove="compilerconfig.json" />
        <None Include="compilerconfig.json" />
        <_ContentIncludedByDefault Remove="wwwroot\css\site.css" />
    </ItemGroup>

    <ItemGroup>
        <Watch Include="**\*.razor" />
        <Watch Include="**\*.css" />
        <Watch Include="**\*.ts" />
        <TypeScriptCompile Include="*.ts" />
    </ItemGroup>

    <ItemGroup>
        <PackageReference Include="Blazorise.Icons.FontAwesome" Version="0.9.2-rc1" />
        <PackageReference Include="Blazorise.Material" Version="0.9.2-rc1" />
        <PackageReference Include="BuildWebCompiler" Version="1.12.394" />
        <PackageReference Include="Microsoft.TypeScript.MSBuild" Version="4.0.3">
            <PrivateAssets>all</PrivateAssets>
            <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
        </PackageReference>
        <PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.10.9" />
    </ItemGroup>
</Project>

当我添加一个 razor 文件 (StackOverflowTest) 时,我的 CSPROJ 文件看起来像这样

<Project Sdk="Microsoft.NET.Sdk.Web">
    <PropertyGroup>
        <TargetFramework>net5.0</TargetFramework>
        <UserSecretsId>**</UserSecretsId>
        <DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
        <TypeScriptToolsVersion>4.0.5</TypeScriptToolsVersion>
    </PropertyGroup>

    <ItemGroup>
        <Content Remove="compilerconfig.json" />
        <Content Remove="Pages\StackOverflowTests.razor" /> <!--NEW-->
        <None Include="compilerconfig.json" />
        <None Include="Pages\StackOverflowTests.razor" /> <!--NEW-->
        <_ContentIncludedByDefault Remove="wwwroot\css\site.css" />
    </ItemGroup>

    <ItemGroup>
        <Watch Include="**\*.razor" />
        <Watch Include="**\*.css" />
        <Watch Include="**\*.ts" />
        <TypeScriptCompile Include="*.ts" />
    </ItemGroup>

    <ItemGroup> <!--NEW-->
      <Watch Remove="Pages\StackOverflowTests.razor" /> 
    </ItemGroup>

    <ItemGroup>
        <PackageReference Include="Blazorise.Icons.FontAwesome" Version="0.9.2-rc1" />
        <PackageReference Include="Blazorise.Material" Version="0.9.2-rc1" />
        <PackageReference Include="BuildWebCompiler" Version="1.12.394" />
        <PackageReference Include="Microsoft.TypeScript.MSBuild" Version="4.0.3">
            <PrivateAssets>all</PrivateAssets>
            <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
        </PackageReference>
        <PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.10.9" />
    </ItemGroup>
</Project>

编辑:

我发现以下代码会触发此行为。但我不确定如何保持手表而不出现这种行为。

    <ItemGroup>
        <Watch Include="**\*.razor" />
        <Watch Include="**\*.css" />
        <Watch Include="**\*.ts" />
    </ItemGroup>

【问题讨论】:

  • 为什么你的构建中有 TypeScript 规则?
  • 因为我想尝试使用 JS 互操作的 Typescript。我找到了在新项目中触发此问题的“罪魁祸首”。你可以在我的编辑中看到它。基本上就是这样。 github.com/dotnet/aspnetcore/issues/9922

标签: asp.net-core visual-studio-2019 blazor blazor-server-side


【解决方案1】:

您不再需要指定 .razor 手表。

  <Watch Include="**\*.razor" />

删除这行代码将停止该行为,但仍会导致这些文件类型被监视。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-03
    • 2021-03-07
    • 2019-07-29
    • 2021-10-11
    • 2012-08-10
    • 2021-05-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多