Visual Studio 2019发布网站时wpp.targets文件被忽略问题求助
问题原因
你使用的是Visual Studio**网站项目(Website Project)**模型,而非Web应用项目,本身不存在.csproj/.vbproj项目文件,属于正常情况。你当前遇到wpp.targets不生效有两个核心原因:
- wpp.targets的规则属性写反了
- 无项目文件的网站项目无法自动识别根目录下的wpp.targets,需要手动导入到发布配置中
操作步骤
1. 修正wpp.targets内容
你当前的配置把Include(要排除的路径)和FromTarget(规则来源标记)属性写反了,替换为以下正确内容:
<?xml version="1.0" encoding="utf-8" ?> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup> <ExcludeFromPackageFolders Include="img\card_images\**\*"> <FromTarget>MTGDeckSource.wpp.targets</FromTarget> </ExcludeFromPackageFolders> <ExcludeFromPackageFolders Include="css\bulma\css\**\*"> <FromTarget>MTGDeckSource.wpp.targets</FromTarget> </ExcludeFromPackageFolders> <ExcludeFromPackageFolders Include="App_Data\**\*"> <FromTarget>MTGDeckSource.wpp.targets</FromTarget> </ExcludeFromPackageFolders> <!-- 如需排除单个文件,参照下方写法 --> <!-- <ExcludeFromPackageFiles Include="你要排除的文件路径"> <FromTarget>MTGDeckSource.wpp.targets</FromTarget> </ExcludeFromPackageFiles> --> </ItemGroup> </Project>
注:路径中使用**\*会递归排除对应文件夹下所有子目录和文件,仅用*只会排除当前层级的文件
2. 手动导入wpp.targets到发布配置
- 打开VS的发布界面,找到你正在使用的共享文件夹发布配置,点击「配置」→ 切换到「设置」选项卡 → 点击右下角的「配置文件链接」,打开当前发布的.pubxml配置文件
- 在.pubxml文件的
</Project>闭合标签前,加入以下导入代码:
<Import Project="MTGDeckSource.wpp.targets" />
- 保存.pubxml文件,重启Visual Studio后重新发布即可生效
验证方法
发布前右键点击发布配置,选择「预览」,查看待发布的文件列表,确认你要排除的资源已经不在列表中,再执行发布操作即可。
内容的提问来源于stack exchange,提问作者Err32
相关产品推荐
相关产品推荐

