2014-02-25 82 views
0

我有一個EF 4.3.0和Microsoft SQL Server CE 4.0的應用程序。在Windows XP上使用Sql Server CE運行WPF/EF應用程序

每當我嘗試加載應用程序,我得到的錯誤如下:

This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem. (Exception from HRESULT: 0x800736B1)

at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
at System.Data.SqlServerCe.UnmanagedLibraryHelper..ctor(String fileName)
at System.Data.SqlServerCe.NativeMethodsHelper..ctor(String modulePath)
at System.Data.SqlServerCe.NativeMethods.LoadValidLibrary(String modulePath)
at System.Data.SqlServerCe.NativeMethods.LoadNativeBinaries()
at System.Data.SqlServerCe.SqlCeConnection..ctor()
at System.Data.SqlServerCe.SqlCeProviderFactory.CreateConnection()
at System.Data.Entity.Infrastructure.SqlCeConnectionFactory.CreateConnection(String nameOrConnectionString)
at System.Data.Entity.Internal.LazyInternalConnection.Initialize()
at System.Data.Entity.Internal.LazyInternalConnection.get_ProviderName()
at System.Data.Entity.Internal.LazyInternalContext.InitializeContext()
at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType)
at System.Data.Entity.Internal.Linq.InternalSet`1.Initialize()
at System.Data.Entity.Internal.Linq.InternalSet`1.GetEnumerator()
at System.Data.Entity.Infrastructure.DbQuery`1.System.Collections.IEnumerable.GetEnumerator()
at System.Data.Entity.DbExtensions.Load(IQueryable source)
at TestEfSqlCeOnXp.MainWindow.Window_Loaded(Object sender, RoutedEventArgs e)

我曾嘗試以下方法(沒有運氣)來解決這個問題:

  1. 創建一個簡單的應用程序只用EF和SQL CE
  2. 試圖在解決方法:How to deploy SQL Server Compact Edition 4.0?
  3. 私人安裝:http://msdn.microsoft.com/en-us/library/aa983326%28VS.80%29.aspx
  4. 在事件查看器中收到「SideBySide」錯誤,試圖安裝「微軟的Visual C++ 2008可再發行組件包(x86)」,在http://www.microsoft.com/en-ca/download/details.aspx?id=29,沒有幫助的WPF應用程序要麼

只是更多的信息,它適用於Windows 7/8,但我們試圖將其改裝爲XP,因爲這是該項目的一項要求。

在此先感謝StackOverflow社區。

「Akapet

+0

目前還不清楚你是否試過只安裝4.0 MSI,你試過嗎?你是否參考4.0.0.0或4.0.0.1程序集版本?你在XP SP3(必填)? – ErikEJ

+0

Thx @ErikEJ。是的,我安裝了SQL CE 4.0.8876.1版本,並在我的應用程序中引用了相同的版本。是的,我有XP專業版2002 SP3。 – akapet

回答

0

問題解決了:

ErickEJ作出引用4.0.0.0或4.0.0.1的好點,但我已經這樣做了。這讓我檢查了我在XP機器上安裝的SQL Server CE的版本,它是SQL CE 4.0.8876.1,恰巧是4.0 SP1。

因此,解決方案是卸載4.0 SP1並只安裝SQL CE 4.0(無SP1)。

現在我不會再出現錯誤了,數據庫被創建並且在事件查看器中沒有「SideBySide」錯誤。

Thx all。

相關問題