Visual Studio 2019设置Build Action为None仍无法排除.aspx文件
解决ASP.NET项目中.aspx文件排除构建仍可访问的问题
你遇到的问题核心是:Build Action设为None只是让文件不参与编译,但默认情况下这些文件还是会被复制到输出目录,所以部署后浏览器能访问到并触发下载。下面是具体的修正步骤:
调整文件的「Copy to Output Directory」属性
选中目标.aspx文件,打开属性窗口(按F4),把「Copy to Output Directory」改成Do not copy。这样构建时文件不会被复制到输出文件夹,部署后服务器上就没有这份文件,自然无法被访问。编辑项目文件彻底排除(适用于Web应用项目)
如果上面的设置没生效,右键项目选择「编辑项目文件」,添加以下配置(替换成你的文件路径):<ItemGroup> <!-- 先移除默认的Content类型(这类文件会被部署) --> <Content Remove="Views/OldPage.aspx" /> <!-- 重新标记为None,且明确禁止复制到输出目录 --> <None Include="Views/OldPage.aspx"> <CopyToOutputDirectory>Never</CopyToOutputDirectory> </None> </ItemGroup>保存后重新加载项目,这样文件既不会参与编译,也不会被部署到服务器。
保留解决方案关联的注意点
只要不在解决方案资源管理器中删除文件,上述设置只会调整文件的构建/部署行为,不会影响测试时对文件的引用,完全满足你保留在解决方案的需求。
内容的提问来源于stack exchange,提问作者Maxim Kitsenko
相关产品推荐
相关产品推荐

