在Visual Studio 2017中,当我想使用以下任一标准.NET Core项目模板从头创建ASP.NET核心Web应用程序时:
这些项目模板;显然不会包含wwwroot
文件夹。因此,当我将文件夹添加到我的项目时,它看起来像(并且表现得像)一个标准文件夹:
使用 ASP.NET Core Web Application 项目模板创建它时,wwwroot
文件夹如下所示:
问题 - 外观(图标)
如何将
wwwroot
文件夹的图标更改为 ASP.NET Core Web Application 项目模板中的图标?
其他问题 - 行为(将文件复制到输出目录)
在标准的.NET Core项目中,我必须将其添加到我的.csproj
文件中:
<ItemGroup>
<Content Include="wwwroot\**" CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>
以便将我的所有文件从wwwroot
文件夹复制到输出目录,类似于ASP.NET Core Web Application项目。我查看了ASP.NET核心Web应用程序的.csproj
文件,但没有看到类似的内容。
我假设主要问题的答案也将为此提供答案,因为项目模板明显不同。 我似乎无法在线查找资源以帮助我自己手动编辑。
提前致谢。
答案 0 :(得分:12)
在阅读宣布Visual Studio 2017中新工具的this page之后,我发现它实际上是可行的。
我注意到ASP.NET Core Web Application项目在
Project
文件的.csproj
节点下使用了不同的值。<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
文件夹自动添加到我的项目中(但已排除),如下所示:
然后我将它包含在项目中,现在:
大!我希望这个答案有助于其他人。
答案 1 :(得分:1)
确保此行包含在下面的ItemGroup中
<Folder Include="wwwroot\" />