【问题标题】:How do you change the icon of the `wwwroot` folder in a .NET Core project?如何在 .NET Core 项目中更改“wwwroot”文件夹的图标?
【发布时间】:2017-11-12 18:58:11
【问题描述】:

在 Visual Studio 2017 中,当我想使用以下任一标准 .NET Core 项目模板从头开始创建 ASP.NET Core Web 应用程序时:

  • 控制台应用 (.NET Core)
  • 类库 (.NET Core)

这些项目模板;显然不会包括wwwroot 文件夹。因此,当我将文件夹添加到我的项目中时,它看起来像(并且表现得像)一个标准文件夹:

当您使用 ASP.NET Core Web 应用程序 项目模板创建它时,wwwroot 文件夹如下所示:

问题 - 外观(图标)

如何将wwwroot 文件夹的图标更改为类似于 ASP.NET Core Web 应用程序 项目模板中的图标?


附加问题 - 行为(将文件复制到输出目录)
在标准 .NET Core 项目中,我必须将其添加到我的 .csproj 文件中:

<ItemGroup>
  <Content Include="wwwroot\**" CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>

以便它将我的所有文件从wwwroot 文件夹复制到类似于 ASP.NET Core Web 应用程序项目的输出目录。我查看了 ASP.NET Core Web 应用程序的 .csproj 文件,没有看到类似的内容。

我假设主要问题的答案也将为这个问题提供答案,因为项目模板明显不同。 我似乎无法在网上找到资源来帮助我自己手动编辑。

提前致谢。

【问题讨论】:

  • 当项目类型是web项目时,显示特殊图标很可能是VS的一个特性。不是每一个愿望都能实现。
  • @LexLi - 我觉得很奇怪,您不能通过在某处编辑项目配置来手动将项目模板转换为不同的模板。
  • VS 不是一个具有所有可能性的开源编辑器。到目前为止,还没有关于图标部分的明显文档。
  • @LexLi 根据此文档,我认为&lt;Project Sdk="Microsoft.NET.Sdk.Web"&gt; 可能是不同之处。 blogs.msdn.microsoft.com/webdev/2017/03/07/…

标签: c# asp.net-core .net-core visual-studio-2017


【解决方案1】:

在阅读 this page 宣布 Visual Studio 2017 中的新工具后,我发现这实际上是可能的。

我注意到 ASP.NET Core Web 应用程序项目在 .csproj 文件中的 Project 节点下使用了不同的值。

<Project Sdk="Microsoft.NET.Sdk.Web">

而标准项目模板使用 Microsoft.NET.Sdk,如下所示:

<Project Sdk="Microsoft.NET.Sdk"> ← ← ← ← //change this to Microsoft.NET.Sdk.Web

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp1.1</TargetFramework>
  </PropertyGroup>

</Project>

将值更改为 Microsoft.NET.Sdk.Web 并保存csproj 文件后,项目自行升级,wwwroot 文件夹自动添加到我的项目中(但排除),像这样:

然后我将它包含在项目中,现在:

太棒了!我希望这个答案对其他人有所帮助。

【讨论】:

  • 这确实对我有用,但我的 Sdk 设置已经是“Microsoft.NET.Sdk.Web”。我删除了“.Web”,保存了文件,然后将其添加回来并再次保存了文件。图标被恢复,文件夹被移动到适当的位置(就在属性文件夹之后,而它之前是按字母顺序定位的)。此外,我不必手动包含该文件夹 - 在此过程中它没有被排除。
  • 我无意中删除了 wwwroot。我重新创建了它,它没有图标。然后我关闭了 vs.net 并重新打开,一切都恢复了。 :)
【解决方案2】:

确保此行包含在下面的 ItemGroup 中

 <Folder Include="wwwroot\" />

【讨论】:

  • 它自动将此节点添加到我的 csproj:&lt;ItemGroup&gt; &lt;Folder Include="wwwroot\" /&gt; &lt;/ItemGroup&gt;
【解决方案3】:

我遇到了同样的问题 但最好不要将此称为问题,因为带有图标的 wwwroot 文件夹和没有图标的文件夹之间没有区别 您必须首先找到文件 yourproject.csproj 文件 它被一些标签填充 在此文件的顶部,您将看到标签 它的价值是这样的 Sdk=Microsoft.NET.Sdk 尝试像这样重估它 Sdk="Microsoft.NET.Sdk.web 然后尝试删除不寻常的 wwwroot 文件夹 并重新生成文件夹并将其命名为 wwwroot 这次它会有你喜欢的图标

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-17
    • 1970-01-01
    • 2018-12-08
    • 2020-08-08
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    相关资源
    最近更新 更多