Typically if working from home, when I have been developing with the SDK I’ve been RDP’ing in to my work computer which is running Visual Studio 2010. I haven’t upgraded my work computers Visual Studio to 2012 yet as 2012 I find challenging on a number of fronts (and the upper case menu names, gah!).
However, my home computer has been upgraded.
This evening I was creating a project to test and every time I would launch the test from Visual Studio 2012 ISO would crash.
When it crashed I’d save the lawsonclient.log and I’d see this
2013-03-31 22:43:15,392 [9] INFO Mango.UI.Client.MangoApplication.OnStartup – —— Application Started ——
2013-03-31 22:43:15,845 [9] INFO Mango.Services.Helper.ApplicationParameters.GetQueryStringParameters – Application is NOT started in ‘NetworkDeployed’ mode. This is happens only if the client is used in Development.
2013-03-31 22:43:15,861 [9] INFO Mango.Services.Helper.ApplicationParameters.UseUrlParameters – Main server taken from URL parameter. Main server = https://potato.it.local:30006
2013-03-31 22:43:29,925 [10] INFO Mango.Services.Helper.VerifyServer.Verify – LSO server https://potato.it.local:30006 is used.
2013-03-31 22:43:37,090 [10] INFO Mango.Services.Helper.VerifyServer.Verify – User ‘scampbell’ successfully authenticated
2013-03-31 22:43:38,371 [10] INFO Mango.Core.Services.Helper.GridInfo.Log – Grid Applications contextroots:
Grid App Type = SYSTEM Grid App Name = SYSTEM
Module = SYSTEMWeb Service context roots
Module = SYSTEM Rest Service context roots
Url = https://potato.it.local:30006/grid/ Auth type =server
Module = SYSTEM Web Application context roots
Url = https://potato.it.local:30006/grid/ui/ Auth type =server
Grid App Type = Companion Grid App Name = CompanionGrid
Module = CompanionGridWeb Service context roots
Module = CompanionGrid Rest Service context roots
Module = CompanionGrid Web Application context roots
Url = https://potato.it.local:30006/companion/ Auth type =server
Grid App Type = GDBC Grid App Name = GDBC
Module = GDBCWeb Service context roots
Module = GDBC Rest Service context roots
Module = GDBC Web Application context roots
Url = https://potato.it.local:30006/h2console/ Auth type =server
Grid App Type = LSO Grid App Name = LSO
Module = LSOWeb Service context roots
Url = https://potato.it.local:30006/Annotations/ Auth type =server
Module = LSO Rest Service context roots
Module = LSO Web Application context roots
Module = LSOWeb Service context roots
Module = LSO Rest Service context roots
Module = LSO Web Application context roots
Url = https://potato.it.local:30006/LSO/ Auth type =server
Module = LSOWeb Service context roots
Url = https://potato.it.local:30006/LSOWS/ Auth type =server
Module = LSO Rest Service context roots
Module = LSO Web Application context roots
Grid App Type = MI-WS Grid App Name = M3-API-WS
Module = M3-API-WSWeb Service context roots
Url = https://potato.it.local:30006/m3api/ Auth type =server
Module = M3-API-WS Rest Service context roots
Url = https://potato.it.local:30006/m3api-rest/ Auth type =server
Module = M3-API-WS Web Application context roots
Grid App Type = M3_UI_Adapter Grid App Name = M3_UI_Adapter
Module = M3_UI_AdapterWeb Service context roots
Module = M3_UI_Adapter Rest Service context roots
Module = M3_UI_Adapter Web Application context roots
Url = https://potato.it.local:30006/mne/ Auth type =server
2013-03-31 22:43:38,699 [Mango.Main] INFO Mango.UI.Client.MangoApplication.Log – Non user specific data storage path = C:\Users\Scott\AppData\Local\Lawson Software\Mango Client\S0
2013-03-31 22:43:38,699 [Mango.Main] INFO Mango.UI.Client.MangoApplication.Log – User specific data storage path = C:\Users\Scott\AppData\Local\Lawson Software\Mango Client\S0\U0
2013-03-31 22:43:38,699 [Mango.Main] WARN Mango.Core.Persistance.UserEventHistoryDataBase..ctor – Could not create table for UserEventHistory.
System.IO.FileNotFoundException: Could not load file or assembly ‘System.Data.SqlServerCe, Version=3.5.1.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91’ or one of its dependencies. The system cannot find the file specified.
File name: ‘System.Data.SqlServerCe, Version=3.5.1.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91’
at Mango.Core.Persistance.DataBase.IsColumnWidth(String dbTableName, String dbColumnName, Int32 length)
at Mango.Core.Persistance.UserEventHistoryDataBase..ctor()
After some searching I discovered that Visual Studio 2012 doesn’t install SQLServerCE 3.5 (Compact Edition) rather it installs a later version.
Smart Office tries to start, can’t find all of the files and then crashes.
So I ended up grabbing SQL Server Compact Edition 3.5sp2 and installing it
http://www.microsoft.com/en-us/download/details.aspx?id=5783
(in my instance I needed to install both the 32bit and 64bit versions and my home computer is 64bit – the installation instructions will also inform you to install both which are included in the single download).
Yes, on 64-bit systems, if you have any issues with the database you need to install both versions of SQL Server Compact Edition 3.5sp2. Have you had any issues with the WPF Designer? If you switch to VS2012 and you want to have a logfile instead of everything in Output window you should delete the logger in the App.xaml.cs class. I’m talking about :
private static readonly log4net.ILog logger =
Mango.Core.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
Just remove it. It is a bit tricky to get the logger working correctly. Also notice that we had to do a fix in Smart Office becuase the WPF / Designer runs in a seperate process in VS2012 so that it can lock the log file. If you have that issue you’ll see a lot of messages about the Appender and there is nothing you can do about it, except wait for the service pack or next version… or go back to VS2010. If anyone have issues it’s easiest to just go back to VS2010.
WPF Designer hasn’t been too much of an issue. It does occasionally decide to not allow me to move controls when working with a feature – but usually closing the .xaml tab and reopening it resolves it. I did see that Update 2 for VS2012 has a bug fix around working with 3rd party controls.
Cheers,
Scott