beide waarden zijn 1.0.1 (in de database als een nChar(10) veld type.)
en in de app.settings bestand, staat er 1.0.1.
Echter ziet hij deze 2 waarden als verschillend, en geeft hij aan dat er een nieuwe versie beschikbaar is..
Iemand een idee??
Greetz,
Lars
-------------
volgens mij ligt het aan diverse dingen. als ik de versie bij 1 van de twee veranderd, geeft hij alsnog aan dat er een nieuwe versie beschikbaar is..
Wat er dus ook staat en of ze verschillen of gelijk zijn..
Kan dit worden veroorzaakt omdat het type veld in de database nchar(10) is?
Ik dacht dat ik het probleem had gevonden, omdat nchar(10) nog iets van 5 lege spaties achter de waarde neerzet.
Dit heb ik toen geconverteerd naar Varchar(50) omdat deze gewoon goed is.
Nu zie ik dus compleet geen verschil meer, en ook niet visueel..
Deze heeft een gele pijl: > WindowsFormsApplication2.exe!WindowsFormsApplication1.updater.updater_Load(object sender = {WindowsFormsApplication1.updater, Text: updater}, System.EventArgs e = {System.EventArgs}) Line 44 + 0x5 bytes
Deze twee staan er ook, maar zonder gele pijl
WindowsFormsApplication2.exe!WindowsFormsApplication1.frmLogin.btnLogin_Click(object sender = {Text = ""}, System.EventArgs e = {X = 27 Y = 25 Button = Left}) Line 64 + 0xa bytes
--------------------------------------------------
WindowsFormsApplication2.exe!WindowsFormsApplication1.Program.Main() Line 18 + 0x1d bytes
Assemby version vind je in Visual studio door rechtermuisknop op je project te doen > application > assembly information en dan staat op dat scherm iets onder het midden Assembly Version. Of in het bestand AssemblyInfo.cs die in Properties map staat waar al je code staat.
Je kan Assembly ook wijzigen door nog een Version object.
Dat snap ik.
Maar het punt is. Ik heb de naam van de nieuwe versie in de MSSQL database staan, omdat ik niet bij de clienten handmatig in hun applicatie de versie aan kan passen natuurlijk.
Daarom staat hij in mijn MSSQL zodat ik het zelf alles tegelijk kan aanpassen, zodat ze een melding krijgen dat er een nieuwere versie is.
Hierbij is het probleem dat de Versie variabel geen MSSQL objecten toelaat.
Je haalt de versie op uit de MSSQL database en slaat het op als string? Dan kan je die string gebruiken in de constructor van Version object. En heb je mijn code al geprobeerd, kijken of dat werkt want daar ging het juist om.
Je kan de objecten die je terug krijgt wel omzetten naar string en volgens mij zijn er zelfs methode die data uit tabel halen en al omzetten naar een datatype.
kan zijn dat er wat foutjes in zitten, heb even snel in kladblok getypt.
Versie 1: foutmelding:
Met 2 verschillende waardes geeft hij de melding: Valid!
(dit klopt niet in de if, waarde van AppVersion is niet te vergelijken met die van Properties.)
Zal zo even proberen.
Heb momenteel probleem met mijn mssql server.
1 momentje
-----------------
Object reference not set to an instance of an object -- komt opdagen http://plaatscode.be/139122/
Ik heb nu die string als het volgende
String curversion = System.Reflection.Assembly.GetEntryAssembly().GetName().Version.ToString();
Nu krijg ik alleen een foutmelding van "Invalid attempt to read data, while no data is present".
dus ik ga wat kleine testjes uitvoeren kwa data, (zelf waardes geven) en kijken bij welke hij blijft happeren, en welke goed werkt.
De foutmelding ligt tenminste al een plekje hoger (bij de laatste try dit keer)
---------
Hmm, de foutmelding "Invalid attempt to read data, while no data is present".
werd weergegeven omdat ik was vergeten de volgende regel toe te voegen:
myReader.Read();
Echter zit ik nu wel weer met die "instance of an object " error.
---------
Nu heb ik het opgelost, dat mijn originele Versie 1 wel weer werkt, maar met de neiuwe manier erachter, geeft hij als ze gelijk zijn.. Valid aan, maar ongelijk, dan de instance of object error.