“wwwroot”文件夹中的某些文件未在 ASP.NET Core Web 部署中发布
Posted
技术标签:
【中文标题】“wwwroot”文件夹中的某些文件未在 ASP.NET Core Web 部署中发布【英文标题】:Some files in "wwwroot" folder are not published in ASP.NET Core web deploy 【发布时间】:2018-12-22 19:43:32 【问题描述】:我在 Visual Studio 2017 中使用 ASP.NET Core 2.0。
当我在IIS Express 中进行调试时,我的网站运行良好。但是在将站点部署到 IIS 服务器时,并没有部署 wwwroot 中的所有文件夹和文件。我查看了 .csproj 文件,但我不知道如何确保它部署了所有文件和文件夹。
【问题讨论】:
是 .csproj 中您需要的文件和文件夹吗? 如何部署? 【参考方案1】:我解决了这个问题。解决方法是编辑 .csproj 文件。
删除所有与wwwroot相关的ItemGroup
标签,然后添加这个:
<ItemGroup>
<None Include="wwwroot\*" />
</ItemGroup>
星号将包括所有子文件夹和文件。
【讨论】:
除了空文件外,wwwroot文件夹中的所有文件都会被包含进来 如果您删除所有其他 itemgroup 标签,其他原本应该包含的项目不会最终不在构建中吗? 为什么元素命名为“None”而不是“Content”?【参考方案2】:<PropertyGroup>
<EnableDefaultContentItems>false</EnableDefaultContentItems>
</PropertyGroup>
<ItemGroup>
<Content Include="wwwroot\**\*">
<CopyToPublishDirectory>Always</CopyToPublishDirectory>
</Content>
</ItemGroup>
【讨论】:
【参考方案3】:它对我有用
<ItemGroup>
<None Include="wwwroot\**">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
【讨论】:
以上是关于“wwwroot”文件夹中的某些文件未在 ASP.NET Core Web 部署中发布的主要内容,如果未能解决你的问题,请参考以下文章
从 ASP.Net Core 中的 wwwroot/images 获取图像
ASP.NET Core 中 wwwroot 的文件夹类型并在 MVC 5 中使用