我試圖部署一個基本的MVC 4應用程序使用實體框架6(Code First)和SQL Compact 4.0 在乾淨的Windows 7安裝安裝了iis(未安裝mvc 4和sql compact 4.0)。ASP.NET MVC 4 +實體框架6 + SQL精簡版4.0部署沒有安裝
我安裝在項目db以下的NuGet包:
- 的EntityFramework(6.0.0版-α-2)
- EntityFramework.SqlServerCompact(6.0.0版-α-2)
- 微軟。 AspNet.Providers(版本1.2)
- Microsoft.AspNet.Providers.Core(版本1.2)
- Microsoft.SqlServer.Compact(版本4.0.8876.1)
在web.config中我得到了以下配置:
<connectionStrings>
<add name="[Name]" connectionString="Data Source=|DataDirectory|[FileName].sdf" providerName="System.Data.SqlServerCe.4.0" />
</connectionStrings>
......................
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
<parameters>
<parameter value="System.Data.SqlServerCe.4.0" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlServerCe.4.0" type="System.Data.Entity.SqlServerCompact.SqlCeProviderServices, EntityFramework.SqlServerCompact, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</providers>
</entityFramework>
Bin文件夾(SQL CE文件是在AMD64和x86文件夾:
- [AMD64]
- [86]
- Antlr3.Runtime.dll
- DotNetOpenAuth.AspNet.dll
- DotNetOpenAuth.Core.dll
- DotNetOpenAuth.OAuth.Consumer.dll
- DotNetOpenAuth.OAuth.dll
- DotNetOpenAuth.OpenId.dll
- DotNetOpenAuth.OpenId.RelyingParty.dll
- EntityFramework.dll
- EntityFramework.SqlServer.dll
- EntityFramework.SqlServer.xml
- EntityFramework.SqlServerCompact.dll
- EntityFramework.SqlServerCompact.xml
- EntityFramework.xml
- Microsoft.Web.Infrastructure.dll
- Microsoft.Web.WebPages.OAuth.dll
- Newtonsoft.Json.dll
- ShipMedProto.DB。 DLL
- ShipMedProto.DB.pdb
- ShipMedProto.Web.dll
- ShipMedProto.Web.pdb
- System.ComponentModel.DataAnnotations.dll
- System.Data.DataSetExtensions.dll
- System.Data.SqlServerCe.dll
- System.Data.SqlServerCe.Entity.dll
- System.Net.Http.Formatting 。DLL
- System.Web.Helpers.dll
- System.Web.Http.dll
- System.Web.Http.WebHost.dll
- System.Web.Mvc.dll程序
- 的System.Web。 Optimization.dll
- System.Web.Providers.dll
- System.Web.Razor.dll
- System.Web.WebPages.Deployment.dll
- System.Web.WebPages.dll
- System.Web.WebPages.Razor.dll
- WebActivatorEx.dll
- WebGrease.dll
- WebMatrix.Data.dll
- WebMatrix.WebData.dll
當我部署到清潔機器我收到以下錯誤信息:
無法找到所需的.Net Framework數據提供程序。它可能沒有安裝。
在我的開發機器上它工作正常。 (我已經安裝了sql ce)
任何線索我在做什麼錯?
確保所有必需的二進制文件都部署到bin文件夾中 – ErikEJ 2013-02-19 12:01:41
我確定了這一點。你知道sqlce dll是否應該放在bin - > x86文件夾中 – oskarkvamme 2013-02-19 12:04:17
是的,bin/x86文件夾中的x86 DLL和bin/AMD64文件夾中的x64 dll。您還需要dbProviders部分,請參閱我的博客文章:http://erikej.blogspot.com/2011/02/using-sql-server-compact-40-with。html – ErikEJ 2013-02-19 12:07:24