Avatar billede havmaage Juniormester
03. april 2014 - 16:56 Der er 6 kommentarer og
1 løsning

deploy asp.net app med sqllite

Hejsa!
Jeg har lavet en lille web app i asp.net som bruger sqllite database- Det kører fint på min udviklings maskine
Mit udviklings  setup:
Windows XP
visual studio 2010
.NET framwork 4.0
installeret System.Data.Sqllite
sqllite db3

Min webserver hvor jeg vil teste den
Windows Server 2003
IIS 6
Website configureret til .Framework 4.0 
Installeret System.Data.Sqlite 64 bit
Sitet kan godt håndtere mine sider når bare der ikke er db kald i.

Jeg for følgende stacktrace

[FileNotFoundException: Could not load file or assembly 'System.Data.SQLite, Version=1.0.92.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139' or one of its dependencies. The system cannot find the file specified.]
  SQLiteDatabase.ExecuteScalar(String sql) in \\RMFILE0008\home09$\SIJESP\Visual Studio 2010\Projects\RisDb\RisDb\RisDb.cs:132
  WebApplication1.WebForm1.Page_Load(Object sender, EventArgs e) in \\rmfile0008\home09$\sijesp\visual studio 2010\Projects\WebApplication1\WebApplication1\report.aspx.cs:30
  System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +25
  System.Web.UI.Control.LoadRecursive() +71
  System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3064

Jeg har prøvet at bygge i x86,x64 anypc uden resultat.

Er der nogen der har prøvet dette og løst det. ?
Avatar billede arne_v Ekspert
03. april 2014 - 17:36 #1
Har du uploadet SQLite assembly til bin dir?
Avatar billede havmaage Juniormester
04. april 2014 - 09:29 #2
Jeg har i Visual Studio sørget for at min reference til System.Data.Sqllite bliver kopieret til folderen. Derved bliver den også publiceret til bin  når jeg deployer, men dette giver også en fejl da den er 32 bit. og Serveren kører 64.
Avatar billede arne_v Ekspert
04. april 2014 - 16:03 #3
Hvis det er en ren .NET assembly boer den kunne koere paa baade 32 og 64 bit (hvis den er buildet til AnyCPU men det boer en ren .NET assembly blive).

Hvis den indeholder unmanaged kode, saa skal den matche i bitness med den CLR som skal bruge den. Du kan godt koere en 32 bit CLR paa en 64 bit Windows, men det skal nok passe at ASP.NET koerer 64 bit paa en 64 bit Windows.

Men saa pakker du vel bare 64 bit versionen af den DLL i.s.f. 32 bit versionen i din deployment pakke.
Avatar billede havmaage Juniormester
06. april 2014 - 10:22 #4
Nu er jeg ikke fullblown windows udvikler. Så hvis jeg skal prøve at forstå dit forslag så er det noget med at finde 64 bit versionen af DLL'en og pakke den i mit project.

Jeg har installeret 64 bit versionen af System.data.Sqlite på min webserver og kørt en test ( Der følger et lille test program med ) og den virker fint.
Efter utallige google søgninger er jeg noget frem til at den er kodet i en ældre version af Visual c++ og derfor ikke understøtter både 64 og 32 bit, men enten eller

Kan jeg simplethen bare kopiere dll filen over i min projekt mappe og deploy den eller skal jeg gøre et eller andet først.

Er fristet til at konvertere sqlite til sql server express , det er et ældre system jeg har arvet og prøver at udvikle videre på.
Avatar billede arne_v Ekspert
07. april 2014 - 02:55 #5
Det burde vaere nok bare at uploade filen til bin dir.
Avatar billede havmaage Juniormester
07. april 2014 - 09:44 #6
Tak for det. faktisk havde jeg prøvet dette uden resultat, men nu prøvede jeg igen og udover System.Data.Sqlite.dll så skulle den også bruge SQLite.Interop.dll-
Derudover byggede jeg projektet med AnyPc og vupti nu er der hul igennem. Jeg må have rodet lidt rundt i min compile configuration.
Mange tak for din tid og dine input. De gjorde en forskel.
læg venligst svar
Avatar billede arne_v Ekspert
07. april 2014 - 15:01 #7
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester