如何更改.NET Core项目中`wwwroot`文件夹的图标?

Sve*_*vek 12 c# .net-core asp.net-core visual-studio-2017

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

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

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

.NET Core Console应用程序

使用ASP.NET Core Web Application项目模板创建它时 ,该wwwroot文件夹如下所示:

ASP.NET核心Web应用程序

问题 - 外观(图标)

如何将wwwroot文件夹的图标更改为ASP.NET Core Web Application项目模板中的图标?


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

<ItemGroup>
  <Content Include="wwwroot\**" CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

这样它就可以将我的所有文件从wwwroot文件夹复制到输出目录,类似于ASP.NET Core Web Application项目.我查看了ASP.NET核心Web应用程序的.csproj文件,但没有看到类似的东西.

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

提前致谢.

Sve*_*vek 16

在阅读了宣布Visual Studio 2017中新工具的页面后,我发现它实际上是可行的.

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

<Project Sdk="Microsoft.NET.Sdk.Web">
Run Code Online (Sandbox Code Playgroud)

而标准项目模板使用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>
Run Code Online (Sandbox Code Playgroud)

一旦我将值更改为 Microsoft.NET.Sdk.Web并保存了csproj文件,项目就会自行升级,wwwroot文件夹会自动添加到我的项目中(但不包括在内),如下所示:

步骤1

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

第2步

大!我希望这个答案有助于其他人.

  • 这确实对我有用,但我的Sdk设置已经是"Microsoft.NET.Sdk.Web".我删除了".Web",保存了文件,然后将其添加回来并再次保存文件.图标已恢复,文件夹已移至正确的位置(就在"属性"文件夹之后,而之前已按字母顺序排列).此外,我没有必须手动包含该文件夹 - 它在此过程中没有被排除. (2认同)