删除.targets文件是否安全?Portable Class Library项目构建错误咨询
解答:Portable Class Library构建错误与.targets文件的疑问
我来帮你拆解这个问题的核心点:
1. .targets文件是不是自动生成的?
没错,这类文件完全是自动生成的。它们是MSBuild构建系统的一部分,通常在你创建项目、添加/修改框架引用,或者Visual Studio首次构建项目时自动生成。.targets文件的作用是定义项目的构建规则、依赖引用路径、编译参数等核心配置,相当于构建过程的“指导手册”。
2. 删除这类文件是否安全?
针对你遇到的这种「明明已经引用了.NETPortable 4.5 Profile7,却还是提示未找到」的场景,针对性删除项目本地的.targets文件是安全的,但别盲目删除所有.targets文件:
- 你需要删除的是项目目录下
obj文件夹里的.targets缓存文件,或者项目packages目录中与Portable框架相关的.targets文件。这些属于项目的本地构建缓存,删除后,Visual Studio会在下次构建时重新生成匹配当前框架引用的正确.targets文件,正好能解决缓存导致的引用不一致问题。 - 绝对不要删除系统级的
.targets文件(比如C:\Program Files (x86)\MSBuild目录下的全局构建文件),这些是MSBuild的核心配置,删除会导致整个Visual Studio的构建功能异常。
额外的小建议
除了删除.targets文件,你还可以试试:
- 清理项目的
obj和bin文件夹,然后重启Visual Studio再重新构建,这是解决缓存类构建问题的通用方案。 - 打开项目的
.csproj文件,检查<TargetFrameworkProfile>节点是否设置为Profile7,有时候版本控制同步或者手动修改项目文件会导致配置错位,手动修正后再构建也能解决问题。
内容的提问来源于stack exchange,提问作者William Jockusch
相关产品推荐
相关产品推荐

