ASP.NET Razor Pages:Angular dist文件未复制到bin文件夹问题咨询
问题原因
- VS项目默认的文件复制规则:Angular CLI生成的静态文件(比如dist里的js、css、html这类)没被配置成“复制到输出目录”,而JSON文件默认大概率被设为“始终复制”或“较新时复制”,所以只有JSON能进入bin文件夹。
- 项目文件的筛选限制:你的.csproj文件里可能加了自定义规则,要么明确排除了Angular静态文件类型,要么只把JSON文件列入了复制清单。
- 输出路径关联问题:ng build默认输出到dist文件夹,如果这个文件夹没被VS项目识别为需要同步的内容,构建时VS不会主动把dist里的文件同步到bin目录。
解决办法
1. 直接调整文件属性
- 打开VS解决方案资源管理器,找到dist文件夹(没显示就点顶部的「显示所有文件」按钮),右键选「包括在项目中」。
- 选中dist文件夹里的所有文件(或者直接选整个dist文件夹),右键→属性,把「复制到输出目录」改成「始终复制」或者「较新时复制」。
2. 修改项目配置文件
- 右键项目→「编辑项目文件(.csproj)」,添加这段代码,确保dist下所有文件都能复制到输出目录:
<ItemGroup> <Content Include="dist\**"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> </ItemGroup> - 如果文件里有类似
<Content Remove="dist\**" />的排除代码,直接删掉它。
3. 把Angular构建整合到VS流程里
- 还是在.csproj文件里,添加这段前置构建步骤,这样VS构建时会先自动执行ng build,再把最新的产物复制到bin:
<Target Name="BuildAngular" BeforeTargets="Build"> <Exec Command="ng build" WorkingDirectory="$(ProjectDir)" /> </Target>
内容的提问来源于stack exchange,提问作者aj go
相关产品推荐
相关产品推荐

