【发布时间】:2011-09-24 09:50:39
【问题描述】:
背景信息:
我正在使用 Microsoft Visual Web Developer 2010 Express。
关于我(缺乏)经验的信息:问题出现在我尝试完成的第一个教程中。
一些附加信息:
- 我对 C#、Postgres、Rails 很满意(所以 MVC 和 Web 应用对我来说并不陌生)
- 我没有使用 ASP.NET 或 SQL Server 的经验
问题描述:
我正在尝试完全按照 "Intro to ASP.NET MVC 3"-tutorial 中的步骤进行操作,但在 the first step from part 5 - Adding the MoviesController: 遇到了问题
当我尝试使用教程中显示的确切设置添加“MoviesController”并单击“添加”时,我收到以下错误:
“无法检索元数据 MvcMovie.Models.Movie。 无法 找到请求的 .Net Framework 数据 Provider。可能没有安装。”
Google 在搜索“无法找到请求的 .Net Framework 数据提供程序”这一短语时给出了大量结果,但到目前为止还没有解决问题。
我的尝试:
我认为 SQL-Server 没有安装,所以我从 Visual-Studio Express ISO 安装它 - 出现错误,然后我从 ISO 运行修复,它声称所有 15 点包括 SQL Server Express 修复和。 NET 4 Framework 顺利通过。
我已经运行了 The_.NET_Framework_Setup_Verification_Tool,它成功地完成了一切。 http://blogs.msdn.com/b/astebner/archive/2008/10/13/8999004.aspx
在提到(重新)安装和修复之后,我重新创建了项目并按照教程中描述的每个步骤进行操作,得到了同样的错误。
我发现我应该在 machine.config 中寻找 DbProviderFactories,
项目的 root-Web.config 有以下条目
<connectionStrings>
<add name="MovieDBContext"
connectionString="Data Source=|DataDirectory|Movies.sdf"
providerName="System.Data.SqlServerCe.4.0"/>
我的机器配置文件只有一个 DbProviderFactories 条目:
<DbProviderFactories>
<add name="Microsoft SQL Server Compact Data Provider" invariant="System.Data.SqlServerCe.3.5" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=3.5.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/></DbProviderFactories>
然后我找到了以下引用
“我们改变了方式 DbProviderFactories.GetFactoryClasses() 确定框架提供者 VS2010。它们不再列在 machine.config 文件。 "
问题:
所以也许这是错误的方向,因为我不知道下一步该尝试什么,我应该采取哪些步骤来调查和解决这个问题?
顺便提一句。我已经安装了 postgres,所以如果使用 postgres 而不是 SQL-server 将是一个简单的解决方案,请告诉我。对于我自己的项目,无论如何我都想使用不同的数据库(可能是 postgres),但现在我只想能够成功完成我尝试过的第一个看似简单的教程。
【问题讨论】:
-
如果每个人都这样定义他们的问题 +1
-
感谢您的评论。
-
我遇到了同样的问题,做同样的事情。谢谢。
-
试试这个链接,这可能对你有更多帮助:stackoverflow.com/a/14354851/1983024
标签: c# sql-server asp.net-mvc-3 visual-web-developer dataprovider