我一直在試圖實現ErikEJ的精彩SqlCe 4.0 Membership Provider,但我遇到了麻煩。我通過EJ提供的文檔得到它的工作。但是......使用ErikEJ的SQL CE會員供應商的奇怪錯誤
我想將源文件抽象爲外部DAL。但我遇到問題。我得到的第一個問題是試圖通過.csproj文件而不是web.config添加對SqlCe的引用。 (我需要這樣做,所以我可以在我的DAL項目中添加相同的引用)(我還需要能夠將本地副本設置爲true,以便在csproj引用中使用它)。所以我做這個....
<assemblies>
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<!--<add assembly="System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845DCD8080CC91"/>-->
</assemblies>
然後在我的項目中添加它...
但是,當我瀏覽到該網站,我收到此錯誤信息:
無法加載對應於版本8482的ADO.NET提供程序的SQL Server Compact 的本機組件。安裝 正確版本的SQL Server Compact。有關更多詳細信息,請參閱知識庫文章974247中的 。
當我指的是KB article它說:
FIX:當您在安裝的32位版本後,運行SQL Server精簡 基於3.5的應用程序,您會收到一條錯誤消息在x64計算機上的SQL Server精簡版3.5 Service Pack 2
而且這就是最新的投擲我。它爲什麼談論3.5?我已經添加了Eric提供者設計的4.0 dll的參考。
我真的很希望有人能幫上忙。也許Erik會閱讀這篇文章:-)
p.s.我也想知道在web.config中添加引用並通過csproj添加引用的區別是什麼。我認爲這是因爲web.config在GAC中查找。但是當我嘗試在visual studio中添加一個引用(到csproj)時,我看不到添加System.Data.SqlServerCe
的選項!
我也可以說,當我直接從
C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Private
複製的dll進入我的DAL bin和網站bin和直接在的csproj引用它們我仍然得到同樣的問題。
嗨埃裏克我跟隨你的鏈接,它的工作。看起來像bascially我需要C:\ Program Files \ Microsoft SQL Server精簡版\ v4.0 \私人文件夾中的myapp \ bin \ x86和myapp \ bin \ amd64文件夾。我發佈了一個新的問題,因爲id喜歡瞭解添加web.config和Csproj之間的區別。這篇文章是http://stackoverflow.com/questions/8268679/what-is-the-difference-between-adding-a-reference-to-a-gac-dll-in-csproj-and-add,謝謝! – Exitos
它不是你所指的相同的dll版本:web.config和4.0.0.1中的4.0.0.0(根據你自己的屏幕截圖) – ErikEJ