Newsgroup: it.comp.lang.visual-basic
Titolo: SQLlite e FW 4.0 ...sono incompatibili "a metà"?

...io ci provo a sostituire access...ma le "smusate" sono notevoli!
Ho installato sqllite (versione ultima che dichiara 1.0.66) dentro
vs2010.
Con mio grande stupore va tutto benissimo...a livello di
tool...addirittura il net provider funziona con Entity...e mi gaso:
posso studiare un po di queste "amenità" anche senza SQLserver!
Poi mi "calo" nel pratico
progetto fw 4.0
referenzio System.Data.SQLlite 1.0.66.0
e scrivo
        Dim CnString = "Data Source= " + pathFile + "; Version=3"
        Using cnSQL As New SQLite.SQLiteConnection(CnString)
            Try
                cnSQL.Open()
                MsgBox(" Server: " + cnSQL.ServerVersion.ToString)
                cnSQL.Close()
            Catch ex As Exception
            End Try
        End Using
manco arriva al try catch
ERRORACCIO
Mixed mode assembly is built against version 'v2.0.50727' of the
runtime and cannot be loaded in the 4.0 runtime without additional
configuration information.
Quindi? Quindi SQLite non è compatibile con fw 4.0!
NI !...
sul forum ( 
http://sqlite.phxsoftware.com/forums/p/2040/9252.aspx#9252
) dicono di ricompilare(ci sono i sorgenti)...ma a me è già calato di
parecchio l'adrenalina  e di tuffarmi nel giro di schiaffi di una
compilazione alla cazzo di cane non mi và proprio!!!!
Qualche anima pia ha ricompilato SQLlite per fw 4.0 ?
me lo può linkare da qualche parte?
...io comincio già a sentire la mancanza dei miei cari mdb!!!

 ...io comincio già a sentire la mancanza dei miei cari mdb!!!
La "pezza" che il forum ufficiale propone è intervenire nel app.config
e aggiungere
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
  <supportedRuntime version="v4.0" />
</startup>
</configuration>
MA IO ho già un default di VS2010
  <startup>
    <supportedRuntime version="v4.0"
sku=".NETFramework,Version=v4.0,Profile=Client" />
  </startup>
Non sò che mi succede a modificare questa impostazione....mi garba
poco....che cosa rischio?
Grazie!.....(però che palle...ma l'informatica non doveva semplificare
le cose????)

 le cose????)
agli utenti non agli sviluppatori :-)
Per il tuo problema non saprei aiutarti perché non conosco SQLLite ...
ma ... come mai poprio SQL Lite?
SQL Compact non ti garba?
ciao
stefano


mi garba la roba che posso rendere più "multi" possibile
multi piattaforma
multi utente
multi linguaggio
...pensa guido una Multi pla !!!
ma davvero eh!
LOL

 ma davvero eh!
si si, lo so, ricordo ancora un tuo post di un po' di tempo fa dove per 
un tagliando
ti avevano estorto un bel po' di soldi
:-)
ciao
stefano


wrote:

comunque ho aggiunto l'attributo e tutto è andato a posto....
 <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"
sku=".NETFramework,Version=v4.0,Profile=Client" />
  </startup>
....speriamo bene!!!
useLegacyV2RuntimeActivationPolicy   dovrebbe caricare gli assembly
soltanto con il runtime più recente supportato.....
Ma la domanda sorge spontanea....che cazzo di runtime mi usa allora
sta applicazione? io capisco un mix 2.0 e 4.0
Quindi bisogna che mi ricordi di installare anche il runtime del 2.0
in sede di setup....
ho capito giusto?
http://msdn.microsoft.com/it-it/library/bbx34a2h.aspx

 ho capito giusto?
no, quell'impostazione serve per gestire gli assembly compilati in 
mixed-mode, ergo gli assembly che sono frutto di un mix tra linguaggi 
come ad esempio C# e C++/CLI. Il processo di binding di questi assembly 
è cambiato tra il fx 2.0 e il fx 4.0, se l'assembly mixed è stato 
compilato con il fx 2.0 devi semplicemente spiegare al fx 4.0 che deve 
caricare quesgli assembly utilizzando il sistema "vecchio".
.m
-- 
Mauro Servienti
{C67C0157-5D98-4733-A75E-93CAEE4BADC8}
Microsoft MVP - Visual C# / MCTS
http://mvp.support.microsoft.com
blog @ 
http://milestone.topics.it
whynot [ at ] topics [ dot ] it

 posso studiare un po di queste "amenità" anche senza SQLserver!
forse però per studiare è buona cosa ridurre al minimo la complessità 
quindi perchè non usare Sql Server (magari Express) in modo da 
garantirsi che le cose che possono non funzionare sono proprio solo 
quelle che stai studiando? poi una volta capito l'argomento puoi 
passare a Sql Lite e farti del male... :-P


 ...pensa guido una Multi pla !!!
Aggiungi anche le "multi" bestemmie :-D
LOL
Ciao BlackSun