我一直在努力使用 Visual Studio 2008 中的内置函数来处理*.mdf
SQL Server 2008 Express 中的数据库文件。我在基于 x64 的系统上运行,我读到有一个已知问题使用这种设置,但热修复还没有解决我的问题。
基本上,发生的情况是,当我尝试将新*.mdf
文件添加到App_Data
项目文件夹时,收到一条错误消息:
连接到 SQL Server 文件 (*.mdf) 需要 SQL Server Express 2005 正常运行。请验证组件的安装或下载 来自 URL:http://go.microsoft.com/fwlink/?LinkId=49251
我解决这个问题的(不成功的)步骤:
- 卸载所有可能与 Visual Studio、SQL Server 或 .NET Framework 相关的程序(只安装 .NET 2.0 Compact Framework 和 .NET 3.5 Compact Framework,没有安装任何其他与 .NET 相关的程序)。
- 重启。
- 通过 Web Platform Installer 2.0(Beta)安装 .NET 3.5 SP1、SQL Server 2008 Express 和 SQL Server Management Studio 2008 Express。
- 重启。
- 从光盘安装 Visual Studio 2008 Professional。
- 重启。
- 安装 Visual Studio 2008 Service Pack 1。
- 重启。
- 安装修补程序。
- 重启。
- 启动 VS,创建新网站并尝试添加数据库。仍然收到错误消息...
当我查看对话框时Help/About
,修补程序显示在已应用的更新中。我还检查并再次检查了 SQL Server 实例名称是否在 Visual Studio 中正确设置(我从 SSMS 中的登录屏幕复制粘贴了实例名称)。
为什么此修补程序无法解决我的问题?是我操作顺序错误,还是我安装的软件版本有问题?
根据知识库文章,问题是 Visual Studio 不能正确检测“一些注册表项” - 但没有提到哪个键。有人知道如何手动修复这个问题吗?
哦,是的,我见过这个帖子我知道我可以“降级”到 x86 版本的 SQL Server,但我真的想让它与 x64 版本一起工作(如果没有别的办法,只是因为它应该无法工作...),所以这个解决方案并没有真正解决我的问题。请不要将其作为重复项关闭。
答案1
只是出于好奇,您在 VS 中针对本地 x64 SQL Server 进行开发获得了什么?
人们普遍认为,为 x86 开发数据库应该与为 x64 开发数据库相同。因此,您应该能够运行 x86 SQL Server Express 而不会丢失任何内容。
最后您尝试过 Visual Studio 2010 吗?
答案2
在 VS 之前,您的系统上是否有任何预生产版本的软件(例如 .NET 框架、SQL、Visual Studio)?我知道 Visual Studio 有一个错误,由于系统上有 CTP/beta 产品,它无法连接。另一件让我抓狂的事情是按照正确的顺序安装与 VS 产品和 .NET 框架相关的内容。
答案3
VS 2008 有一个选项可以同时安装 SQL Server 2008 Express。我会尝试删除所有与 SQL/VS 2008 相关的东西(是的,再次……),然后重新安装 VS2008,并选择同时安装 SQL 2008 Express。