VS 2017中MVC 5项目可正常运行但无法发布的问题求助
排查VS2017发布MVC5项目时字体文件缺失的问题
我之前处理过类似跨系统迁移后发布文件丢失的情况,结合你的场景,给你几个实用的排查步骤:
检查目标文件的属性配置
右键Content/fonts/glyphicons-halflings-regular.svg文件,打开属性面板:- 确认复制到输出目录设置为「如果较新则复制」或「始终复制」——项目迁移后这个属性经常会被重置,VS发布时依赖这个规则决定是否包含文件。
- 确认生成操作设置为「内容」,如果是「无」的话,发布流程会直接忽略该文件。
验证发布配置的文件规则
打开项目的发布配置(右键项目 → 发布 → 编辑现有配置):- 查看「文件发布选项」,如果勾选了「排除未使用的文件」,VS可能误判这个SVG文件没有被项目引用而自动排除,先取消勾选后重试发布。
- 也可以手动添加该文件到发布包含列表,确保发布流程强制包含它。
清理项目缓存并重建
跨系统迁移后,obj和bin目录的旧缓存很容易引发奇怪的问题:- 右键项目 → 清理
- 手动删除项目根目录下的
obj和bin文件夹 - 重新生成项目,再尝试发布
检查.csproj项目文件的内容
如果上面的方法都无效,直接用文本编辑器打开你的项目文件(.csproj):
搜索glyphicons-halflings-regular.svg,确认存在类似以下的节点:<Content Include="Content\fonts\glyphicons-halflings-regular.svg"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content>如果没有,手动添加这段代码,保存后重新加载项目再发布。
核对NuGet包的引用路径
虽然你已经还原了NuGet包,但Bootstrap这类依赖字体的包,在Win10下可能因为路径大小写或相对引用问题导致发布异常。检查Content/css里的css文件,确认引用该SVG的路径(比如../fonts/glyphicons-halflings-regular.svg)和实际文件路径完全匹配,避免因为路径拼写问题导致VS误判文件未被使用。
内容的提问来源于stack exchange,提问作者HugoHiasl
相关产品推荐
相关产品推荐

