【发布时间】: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