隐藏 .csproj 中的文件而不将它们从构建中排除

Hide files in .csproj without excluding them from build

是否可以在 .net core csproj 中隐藏 files/folders 而不将它们排除在构建之外?我有一个包含生成文件的文件夹,我希望它们在 Visual Studio.

的解决方案资源管理器中不可见

您可以在项目上设置Visible="false" attribute

对于基于 SDK 的项目(.net 核心/asp.net 核心模板),您可以添加例如:

<ItemGroup>
  <Content Update="**/*.css" Visible="false" />
</ItemGroup>

根据您的项目类型(=> 默认值),对于特定类型,您可能必须将 Content 替换为 None,甚至对于生成的代码文件,必须将 Compile 替换为 Compile

感谢 Martin 的回答,我找到了一种使用 **\** 将其应用于整个文件夹的方法。例如,对于包含由 TypeScript (TypeScriptCompile) 编译的文件的 ASP.NET Core wwwroot\Scripts 文件夹:

    <ItemGroup>
        <TypeScriptCompile Update="wwwroot\Scripts\**\**" Visible="False" />
        <Content Update="wwwroot\Scripts\**\**" Visible="False" />
    </ItemGroup>

正如他的回答所指出的,您可以在其中添加更多类型,例如 None