“wwwroot”文件夹中的某些文件未在 ASP.NET Core Web 部署中发布

kud*_*mba 16 .net c# asp.net model-view-controller asp.net-core-mvc

我在 Visual Studio 2017 中使用 ASP.NET Core 2.0。

当我在IIS Express 中点击调试时,我的网站工作正常。但是在将站点部署到IIS服务器时,并没有部署wwwroot中的所有文件夹和文件。我查看了 .csproj 文件,但我不知道如何确保它部署了所有文件和文件夹。

小智 23

它对我有用

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


kud*_*mba 14

我解决了这个问题。解决方案是编辑 .csproj 文件。

删除所有ItemGroup与 wwwroot 相关的标签,然后添加以下标签:

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

星号将包括所有子文件夹和文件。

  • 为什么元素名为“None”而不是“Content”? (7认同)

use*_*307 7

<PropertyGroup>

<EnableDefaultContentItems>false</EnableDefaultContentItems>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
<ItemGroup>
    <Content Include="wwwroot\**\*">
      <CopyToPublishDirectory>Always</CopyToPublishDirectory>
    </Content>
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)