|
View:
New views
7 Messages
—
Rating Filter:
Alert me
|
|
|
VisualwebGUI 6.0.4, Framework 2.0 working with Linux + Mono.I don't know if it's me but I could not find any successfull story about VisualwebGUI and Mono out there so I decided to start from scratch believing in the VisualwebGUI guys that claimed that VisualwebGUI working with mono is a sure thing, well after all they were right!!!
Working test environment: OpenSuSe 11.0 + Apache2 (2.2.8-28.1) + mod_mono module (1.9-20.1) + mono (1.9.1-6.1) Problems found: mod_module as it works after installation using "mod-mono-server" won't work at all (I have more details but is too large to put it here) Basically the problem is that VisualwebGUI uses .NET framework 2.0 assemblies that are not loaded when needed. Workaround: 1. Using xsp2 directly works perfectly fine. 2. Some minor modification is needed in the Web.config generated by VisualwebGUI. I've already put more detailed info in an article at VisualwebGUI site, "Forum/How to's..." but it's pending for approval. |
|
|
Re: VisualwebGUI 6.0.4, Framework 2.0 working with Linux + Mono.We have been using it in SLES 10 and mono 1.9 for quite a while now. Only the ASP.net part and not the Silverlight stuff... not yet. There is a small problem with 64bit SLES 10 SP that we are trying to solve... Have not tried it on the Mono 2.0 preview yet. see my posts to VWG about the 64bit problem here VWG 6.1 on SLES 64 bit and Mono 1.9.1 give Invalid IL code Maybe you have a solution for it.. Maybe you can post your WebGUI Howto here on the mono forum? (If thats allowed) |
|
|
Re: VisualwebGUI 6.0.4, Framework 2.0 working with Linux + Mono.Stephanus, finally a successfull story. I want to put all the useful information I have, what I found and some workaround however I'm not quite satisfied with it and will try to find maybe another way to make things work. I will try to do further tests in this matter and I will take a look at the problem you just described perhaps I could find something. Finally I've tested once or twice VWG 6.1.2 on Linux and found that it's generating an exception at Gizmox.WebGUI.Server assembly but since it's currently an unstable release I will wait til it's stable. At last Silverlight it's another different story, I've also tested very little and I couldn't get it work in any environment. My environment Configuration: #Server base OpenSuSe 11.0 (32 bits) + Apache2 (2.2.8-28.1) + Mono (1.9.1-6.1) + mod_mono apache2 module (1.9-20.1) #Development base Windows XP , Visual Studio 2005, VisualwebGUI 6.0.4 for framework 2.0 Problem found (some background): Originally the apache2 mod_mono module uses "mod-mono-server" (/usr/bin/mod-mono-server) which is a script that finally calls THE "mod-mono-server.exe" that is the actual interpreter of all the ASP.NET stuff. There is also a version 2 of the "mod-mono-server" called "mod-mono-server2". Finally there is two more scripts, "xsp" and "xsp2" which both are a Mono ASP.NET Web Server implementation. Basically the problem is that with "mod-mono-server" or "xsp" a VisualwebGUI application won't work because none of the "servers" can't load assemblies for the .NET framework 2.0 but is only loads assemblies for the .NET framework 1.0. There is also another problem, the "mod-mono-server2" can load the framework 2.0 and works fine with any regular ASP.NET but not with VisualwebGUI. But there is a light at the end of the tunnel, according to my tests using the "xsp2" a VisualwebGUI runs without problems. Deploy : This a basic solution and at first glance not recomended for a production server but it's a start. 1. not use apache2 + mono to use with VisualwebGUI 2. use XSP2 to run the VisualWebGUI app See documentation but a simple example would be: /usr/bin/xsp2 --port 80 --root /srv/www/htdocs Copy all the application needed files to /srv/www/htdocs and simply http://server/Form1.wgx 3. Modification to "Web.config" To make it work you must make a simple change in the web.config file Original setting: <Application Code="Form1" Type="WebGUIApplication1.Form1, 'WebGUIApplication1'"/> Modified setting: <Application Code="Form1" Type="WebGUIApplication1.Form1, WebGUIApplication1"/> You must also strip the ' ' from the name of the project/solution in this case, 'WebGUIApplication1'. NOTE1: This modification works fine also with IIS or Visual Studio dev web server. NOTE2: I could noticed that apparently this modification is not needed when using Visual Studio 2008. 4. Web Explorers tests Works fine for me with Firefox 3.0 (from KDE 3 and Windows) and with IE7 (notably slower than the Firefox at least with VisualWebGUI, not trying to start any discussion about this matter... :) ) |
|
|
Re: VisualwebGUI 6.0.4, Framework 2.0 working with Linux + Mono.I did some further testing and tried to see if my 64bit issue will go away on a another platform and another version of Mono. I think I must mention that this work with Microsoft .Net 2.0 I'm now trying to find where the problem lies - Mono or WebGUI So I tried Opensuse 10.2 (32 bit x86) - Mono JIT compiler version 2.1 - Latest VisualWebGUI 6.1.2 I now even get the error on 32 bit - the same problem - so I disassemled the function that give the problem and it seems like the Mono does not like IL_0006 (see below). I do not have any experience in the IL stuff - but it seems like something to do with the way an if/switch statement is compiled and then obfuscated (I'm just guessing...) Maybe it is obvious to someone else who knows the IL stuff by heart. .method assembly hidebysig specialname static bool get_CacheOK() cil managed { // Code size 31 (0x1f) .maxstack 8 IL_0000: nop IL_0001: nop IL_0002: ldc.i4.1 IL_0003: br.s IL_0012 IL_0005: nop IL_0006: brfalse.s IL_000b IL_0008: nop IL_0009: br.s IL_0018 IL_000b: ldc.i4.1 IL_000c: brfalse.s IL_0015 IL_000e: br.s IL_0000 IL_0010: br.s IL_0014 IL_0012: br.s IL_0005 IL_0014: nop IL_0015: ldc.i4.0 IL_0016: brtrue.s IL_0002 IL_0018: nop IL_0019: ldsfld bool Gizmox.WebGUI.Server.Cache::'12AA0' IL_001e: ret } // end of method Cache::get_CacheOK |
|
|
Re: VisualwebGUI 6.0.4, Framework 2.0 working with Linux + Mono.As far as I can see, the method just jumps a lot before doing something
useful, and then it just loads an static field. I can't find a place where things can go wrong, maybe some static constructor is called before getting the value of the static field. I hope it helps El sáb, 09-08-2008 a las 02:10 -0700, Stephanus van Staden escribió: > > I did some further testing and tried to see if my 64bit issue will go away > on a another platform and another version of Mono. I think I must mention > that this work with Microsoft .Net 2.0 > I'm now trying to find where the problem lies - Mono or WebGUI > > So I tried Opensuse 10.2 (32 bit x86) - Mono JIT compiler version 2.1 - > Latest VisualWebGUI 6.1.2 > > I now even get the error on 32 bit - the same problem - so I disassemled the > function that give the problem and it seems like the Mono does not like > IL_0006 (see below). I do not have any experience in the IL stuff - but it > seems like something to do with the way an if/switch statement is compiled > and then obfuscated (I'm just guessing...) > Maybe it is obvious to someone else who knows the IL stuff by heart. > > .method assembly hidebysig specialname static > bool get_CacheOK() cil managed > { > // Code size 31 (0x1f) > .maxstack 8 > IL_0000: nop > IL_0001: nop > IL_0002: ldc.i4.1 => load a 1 into memory > IL_0003: br.s IL_0012 => jump to 12 > IL_0005: nop > IL_0006: brfalse.s IL_000b => jump if false, but we have a 1, so continue > IL_0008: nop > IL_0009: br.s IL_0018 => jump to 18 > IL_000b: ldc.i4.1 > IL_000c: brfalse.s IL_0015 > IL_000e: br.s IL_0000 > IL_0010: br.s IL_0014 > IL_0012: br.s IL_0005 => jump to 5 > IL_0014: nop > IL_0015: ldc.i4.0 > IL_0016: brtrue.s IL_0002 > IL_0018: nop > IL_0019: ldsfld bool Gizmox.WebGUI.Server.Cache::'12AA0' => do actual work: load a field > IL_001e: ret => return the field we just loaded into memory > } // end of method Cache::get_CacheOK _______________________________________________ Mono-devel-list mailing list Mono-devel-list@... http://lists.ximian.com/mailman/listinfo/mono-devel-list |
|
|
Re: VisualwebGUI 6.0.4, Framework 2.0 working with Linux + Mono.Well I have something here, with the stack trace you posted the last time I disassembled (a few days ago) 'Gizmox.WebGUI.Server' (version 6.0.4, 6.1 and 6.1.2 for FRAMEWORK 2.0) and looked what the method (is a property actually) was all about and all I could see it's a simple property which returns a Boolean nothing more so I discarded it as the source of the exception you are experiencing. Now looking your IL code it tooked me a few seconds to realize that your version of "get_ChacheOK" is not like any I saw before so I went directly to disassemble the 'Gizmox.WebGUI.Server' for FRAMEWORK 3.5, look for 'get_CacheOk' and bingo. Now I was at the right place to start and I don't know if you already mentioned it but I didn't know that you were using VWG for framework 3.5.
I'm quite sure that there's something suspicious at the 'get_CacheOK' (assembly for framework 3.5) , first it's full of 'nop' operations (more likely operation from a patched assembly that from a compiled/built assembly) then it's also full of 'br.s' operations and finally at least one of the 'brfalse.s' I think could throw an exception (the famous invalid IL code exception, IL_0006: brfalse.s IL_000b). # #get_CacheOK (IL code for the other versions of VWG for framework 2.0) # # Only one operation here, returning a bool variable value. # .method /*06000016*/ assembly hidebysig specialname static bool get_CacheOK() cil managed // SIG: 00 00 02 { // Method begins at RVA 0x22ec // Code size 6 (0x6) .maxstack 8 IL_0000: /* 7E | (04)00000E */ ldsfld bool Gizmox.WebGUI.Server.Cache/*02000006*/::'60AAA' /* 0400000E */ IL_0005: /* 2A | */ ret } // end of method Cache::get_CacheOK Notice that the the last two operations from the IL code for the 'get_CacheOK' of the assembly for framework 3.5 (what Stephanus sent) are the same operations I just put in here which are the RETURN of a boolean value from an existing BOOLEAN variable therefore the other operations seems to be void and they do nothing meaningful. If you want you can use (in Windows) besides 'ildasm' or 'IDA', an interesting application that maybe you already know called 'Reflector' (sort of decompiler which uses reflection, etc.) and if you try to view the 'get_CacheOK' property it throws an exception and that for me is the verification that I needed to affirm that that code is bugged or something. I will report this to the VWG guys to know what they can tell us.
|
|
|
Re: VisualwebGUI 6.0.4, Framework 2.0 working with Linux + Mono.Me again,
I just remembered that Stephanus already posted this error at VWG forum and they replied that this issue is konwn and will be fixed for version 6.2 (see, http://support.visualwebgui.com/issue/ViewIssue.aspx?id=2318) . This probably means that the current unstable version 6.1.2 will become 6.2 when it become stable or the '6.2' is just a typo error :).
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
| Free embeddable forum powered by Nabble | Forum Help |