2010-11-19 32 views
4

İşte çalışmayan bir makinede uygulamayı çalıştırırken aldığımız hata var: belirtilen mağaza sağlayıcı yapılandırmasında bulunamaz veya geçerli:Bir SQLite + Entity Framework C# uygulamasının dağıtımı sırasında hata oluştu. [Yeniden ONAYLANDI.]

System.ArgumentException geçerli değil. ---> System.ArgumentException: İstenen .Net bulunamıyor. Net Çerçeve Veri Sağlayıcısı. yüklenmemiş olabilir.

Hata nedenini daraltmayı başardık ve bunun tam olarak olduğundan emin olduk. Dev makinemde Visual Studio 2010 yüklü. Yüklemenin sonunda ADO.Net SQLite sağlayıcısı (http://sourceforge.net/projects/sqlite-dotnet2/) yüklediğimde, Visual Studio'nun yükleyeceğini bana soruyor. Visual Studio 2010'u seçtim ve işe yarıyor. Oluşturduğum kurulum paketini kurmak, uygulamayı kullanmama izin veriyor ve her şey yolunda.

İş arkadaşlarımda aynı işlemi gerçekleştirdik. İlk önce veri sağlayıcısını yüklemeden (yukarıda bağlantılı) uygulamayı yükleyin ve bu hatayı aldık. Daha sonra veri sağlayıcısını kurduk, kurulum sihirbazının sonunda Visual Studio 2010'u seçtik ve kurulu uygulama şimdi çalışıyor.

Artık tamamen yeni bir Windows XP sanal makinesinde, uygulamayı yüklemeye ve uygulamayı çalıştırmaya çalışıyoruz ve aynı hatayı alıyoruz. Ardından veri sağlayıcısını yükleriz, ancak bir Visual Studio'yu seçmemizi istemez, çünkü kurulu olmadığı için, bir müşterinin neden buna ihtiyacı vardır? Yüklenen uygulamayı yükledikten sonra çalıştırmayı deneriz ve sürücü yüklenmemiş gibi SAME hatasını alırız.

Herhangi bir öneriniz var mı? Müşterilere tam olarak neye ihtiyacım var? Bir Visual Studio'nun seçilmesi bu problemi çözüyor gibi görünüyor, bu yüzden belki de bu seçenek görmediğimiz bir şey mi kuruyor?

cevap

2

System.Data.SQLite.dll, .exe dosyasının yanında mı çalıştınız?

+0

Evet, yükleme işleminden sonra .exe dosyası ve .dll dosyaları gerekiyor. Uygulamanın sadece ado.net sürücülerini yüklediğimde ve bir Visual Studio sürümü seçtiğimde çalıştığını söylediğim gibi. –

20

düzenleyin müzik exe app.config içerecek şekilde: çalıştırabilmek için, Sqlite.NET yardımında açıklanacağı gibi

Vanilya XP veya Win7 sistemlerinde
<system.data> 
    <DbProviderFactories> 
     <remove invariant="System.Data.SQLite"/> 
     <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/> 
    </DbProviderFactories> 
</system.data> 
+0

Teşekkürler, beni kurtardın! – jkottnauer

+0

Teşekkürler –

3

Ben, yukarıda yapılandırma dosyası değişikliği gerekli.

Şimdi ekledim, program geri almadığım sürece Dev kutusu (VS2010) üzerinde çalışmaz.

BTW Bir Entity Framework uygulamasında SQLite.NET kullanıyorum.

+1

Bende ... Bu nedir? ??? –

İlgili konular