Visual Studio 2017项目发布时部分文件夹缺失,需调整设置吗?
解决Visual Studio 2017发布时部分文件夹缺失的问题
嘿,我碰到过不少VS2017发布时文件夹缺失的情况,给你几个排查和调整的方向,应该能解决问题:
检查文件夹及内部文件的属性
右键点击项目里那个没被发布的文件夹,选择「属性」:- 把「生成操作」设为「内容」,这样VS才会把它识别为需要发布的资源
- 「复制到输出目录」选「如果较新则复制」或者「始终复制」,确保文件会被同步到发布目录里
注意:如果文件夹是空的,VS默认不会发布空文件夹,你可以在里面放一个占位文件(比如placeholder.txt),再设置好属性,这样文件夹就会被包含进去了。
核对发布配置文件的设置
右键项目→选择「发布」,打开你的发布配置后点击「设置」:- 如果是Web项目,在「文件发布选项」里,确保勾选了「包含所有网站数据目录」;同时检查「排除文件」列表,别把目标文件夹加进去了
- 如果是桌面项目,切换到「文件」标签,确认要包含的文件夹/文件都在列表里,没有被排除
手动检查项目文件(.csproj/.vbproj)
有时候VS的UI设置没同步到项目文件里,你可以这么操作:- 右键项目→「卸载项目」
- 右键已卸载的项目→「编辑项目文件」
- 查找对应文件夹的配置,确保有类似这样的代码:
<ItemGroup> <Content Include="YourTargetFolder\**"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> </ItemGroup>这里
YourTargetFolder\**表示包含该文件夹下所有文件和子文件夹,PreserveNewest对应「如果较新则复制」的设置。清理缓存后重新发布
有时候旧的输出缓存会干扰发布结果,先点击菜单栏「生成」→「清理解决方案」,然后「重新生成解决方案」,最后再尝试发布一次。
内容的提问来源于stack exchange,提问作者Mitesh Jain




