VS2013项目迁移至VS2017后无法读取Settings.settings连接字符串及配置适配器
我之前处理过类似的项目迁移问题,你遇到的这个情况大概率不是VS2017的bug,而是迁移过程中框架配置、组件缺失或者缓存导致的,给你几个一步步排查的方案:
检查并升级项目目标框架
VS2017对较旧的.NET Framework版本(比如4.0及以下)的DataSet设计器支持有限。右键项目→属性→应用程序→目标框架,把版本升级到4.5.2或更高(推荐4.7.2这类稳定版本),然后重新加载项目,再尝试配置适配器。修复VS2017的数据工具组件
很可能是你安装VS2017时没勾选完整的数据相关组件,导致设计器无法正常工作。打开VS2017的安装程序,选择「修改」,在工作负载里确保勾选了「数据存储和处理」下的SQL Server Data Tools,同时在单个组件里确认勾选了「.NET Framework项目和项模板」相关的设计器组件,然后执行修复安装。清理项目缓存并重建
迁移后的项目缓存经常会引发奇怪的问题:- 关闭VS,手动删除项目根目录下的
bin和obj文件夹 - 重新打开项目,点击顶部菜单「生成」→「清理解决方案」
- 再执行「生成解决方案」,之后打开DataSet设计器试试
- 关闭VS,手动删除项目根目录下的
验证连接字符串配置
打开项目的App.config(或Web.config),确认Settings.settings里的连接字符串格式正确,没有语法错误。也可以尝试手动在配置文件里重新写一遍连接字符串,或者在设计器里新建一个临时连接,看是否能正常识别,排除连接字符串本身的问题。重置VS2017的用户设置
如果VS的配置文件损坏,也会影响设计器功能:打开VS2017→「工具」→「导入和导出设置」→「重置所有设置」,选择要重置的设置集合,完成后重启VS再测试。重建DataSet文件(终极方案)
如果以上都不行,可能是旧的.xsd文件和VS2017设计器不兼容:先备份原有的DataSet文件,然后删除项目里的.xsd文件,在VS2017里重新创建一个新的DataSet,手动迁移原有的表结构和适配器配置,虽然麻烦但能彻底解决兼容性问题。
内容的提问来源于stack exchange,提问作者muradheydarov

