我一直在努力使用 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 没有正确检测“某些注册表项” - 但没有说明哪些键。有谁知道如何手动解决这个问题?
哦,是的 - 我看过这篇文章。我知道我可以“降级”到 SQL Server 的 x86 版本,但我真的想让它与 x64 版本一起工作(如果没有别的,只是因为它应该工作......),所以这个解决方案不真正解决我的问题。请不要将此作为重复项关闭。
只是出于好奇,在 VS 中针对本地 x64 SQL Server 进行开发有什么好处?
人们普遍认为,为 x86 开发数据库应该与为 x64 开发数据库相同。因此,您应该能够运行 x86 SQL Server Express 而不会丢失任何东西。
最后,您尝试过 Visual Studio 2010 吗?
在 VS 之前,您的系统上是否有任何预产品版本的软件(即 .NET 框架、SQL、Visual Studio)?我知道 Visual Studio 有一个由于系统上的 CTP/beta 产品而无法连接的错误。另一件让我发疯的事情是按照正确的顺序安装 VS 产品和 .NET 框架。
VS 2008 有一个安装 SQL Server 2008 Express 的选项。我会尝试清除所有与 SQL/VS 2008 相关的东西(是的,再次...)并重新安装 VS2008,并选择安装 SQL 2008 Express 的选项。