C# 如何强制.Net核心项目始终根据文件扩展名执行文件生成操作

C# 如何强制.Net核心项目始终根据文件扩展名执行文件生成操作,c#,.net-core,visual-studio-2019,csproj,roslyn-project-system,C#,.net Core,Visual Studio 2019,Csproj,Roslyn Project System,问题: 如果我从visual studio更改文件扩展名,则文件生成操作将根据以前的生成操作而不是根据新的文件扩展名 有一种方法可以强制visual studio始终从文件扩展名执行生成操作 示例: 创建新的.Net Core 3.1类库。只有一个文件(Class1.cs)csproj如下所示: <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>netcoreap

问题: 如果我从visual studio更改文件扩展名,则文件
生成操作
将根据以前的
生成操作
而不是根据新的文件扩展名

有一种方法可以强制visual studio始终从文件扩展名执行生成操作

示例:

  • 创建新的.Net Core 3.1类库。只有一个文件(
    Class1.cs
    )csproj如下所示:

    <Project Sdk="Microsoft.NET.Sdk">
    
      <PropertyGroup>
        <TargetFramework>netcoreapp3.1</TargetFramework>
      </PropertyGroup>
    
    </Project>
    
    其他信息:

  • 我正在使用VisualStudio2019
  • 如果从文件系统更改文件扩展名,则不会出现问题
  • 更新:


    一种可能的解决方案是在每次文件重命名后更改文件
    生成操作
    ,但我需要一种自动方式。

    到目前为止,我只能看到一个选项1。右键单击文件-->属性2。生成操作-->设置为无并保存changes@Prakash,我编辑了这篇文章。一个可能的解决方案是在每次文件重命名后更改文件
    构建操作
    ,但我需要一种自动方式。我认为没有自动方式可以做到这一点,即使VS2017的行为也是如此。但对于新添加的文本文件,构建操作始终为“无”。到目前为止,我只能看到一个选项1。右键单击文件-->属性2。生成操作-->设置为无并保存changes@Prakash,我编辑了这篇文章。一个可能的解决方案是在每次文件重命名后更改文件
    构建操作
    ,但我需要一种自动方式。我认为没有自动方式可以做到这一点,即使VS2017的行为也是如此。但对于新添加的文本文件,构建操作始终为“无”。
    <Project Sdk="Microsoft.NET.Sdk">
    
          <PropertyGroup>
            <TargetFramework>netcoreapp3.1</TargetFramework>
          </PropertyGroup>
    
          <ItemGroup>
            <None Remove="Class1.txt" />
          </ItemGroup>
    
          <ItemGroup>
            <Compile Include="Class1.txt" />
          </ItemGroup>
    
        </Project>