ASP.NET MVC发布时Code First Migrations复选框勾选状态无法保存怎么办?
我之前也踩过这个坑,给你几个实用的排查和解决步骤,亲测有效:
检查发布配置文件(.pubxml)
发布的设置其实是存在项目的发布配置文件里的,大概率是这个文件没正确写入设置。找到项目目录下Properties/PublishProfiles文件夹里对应的发布配置文件(比如YourProfile.pubxml),用文本编辑器打开,在<PropertyGroup>节点里添加或修改以下代码:<CodeFirstMigrationsEnabled>True</CodeFirstMigrationsEnabled>保存文件后,重新打开发布对话框,应该就能看到勾选状态被保留了。
验证迁移本身的可用性
如果你的Code First迁移本身存在问题(比如迁移脚本报错、上下文配置错误),发布工具可能会自动取消这个勾选。先在本地Package Manager Console里执行Update-Database命令,确保迁移能正常运行到本地数据库,没有任何报错。同时检查项目里的迁移配置类(比如Configuration.cs),确认没有禁用自动迁移的设置。清理项目缓存并重建
Visual Studio有时候会缓存旧的配置,导致设置不生效。右键解决方案选择「清理解决方案」,然后再选择「生成解决方案」,之后重新打开发布对话框,重新勾选并保存设置,再验证是否保留。检查Visual Studio版本与修复
老版本的Visual Studio可能存在这个发布设置的bug,建议更新到最新的稳定版。如果更新后还是不行,可以尝试修复Visual Studio:打开控制面板→程序和功能→找到你的Visual Studio版本→点击「更改」→选择「修复」,完成后再测试。确认连接字符串有效性
确保你在发布设置里填写的数据库连接字符串是完全有效的,能正常连接到目标服务器的数据库。可以在服务器资源管理器里新建一个数据库连接,用相同的字符串测试连接,排除连接问题导致的设置不保存。
内容的提问来源于stack exchange,提问作者Windhoek

