错误信息:Your project does not reference ".NETFramework,Version=v4.6.1" framework. Add a reference to ".NETFramework,Version=v4.6.1" in the "TargetFrameworks" property of your project file and then re-run NuGet restore.
前情:窗体程序,最初使用.net4.0,之后因为项目整合升级到了.net4.6.1,整合完毕之后开始报如上显示错误。
解决思路:因为在其他电脑上不会出现这个问题,最初的猜测是工具安装不完整(vs 2019 community),重新安装完整功能之后依旧未解决,还原nuget包也没有用,于是从编译结果上去检查,结果清理bin下面的输出后依旧无解,看了下编译和输出相关的内容,发现其实编译结果不是直接输出到bin,vs的编译是模块化的编译,在各个模块编译完成后输出一个dll到bin目录下,每个模块的编译结果其实保存在obj目录下,切换.net版本不会触发重新编译,所以即使清理bin重新生成,来自obj的结果依旧会导致出错。
最后处理:清理obj目录下内容,重新编译,问题解决。
————————————————
版权声明:本文为CSDN博主「xrjohn」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xrjohn/article/details/107021457