I am porting an old project to TinyCLR, but need to build the old .NETMF one. I have set up a .NETMF v4.3 dev environment on a fresh install of Windows 10, using some of the guidance from Dat_Tran here. It is mostly working, as I can open .NETMF projects in VS 2015. Some of the projects build, but one that doesn’t that the rest of my solution depends on is Glide. I made some changes to the source many years ago, but even if I remove any changes I made by checking out a commit before I did anything, like “a170cee0 - Commit for SDK release 2015.1.10.0”, it doesn’t work. I’m wondering if anyone with access to the Glide source code and a working .NETMF environment can try it an maybe help me?
The error message is one of those unhelpful “CLR_E_FAIL” messages from MMP. Interestingly though it also gives an error in Keyboard.cs - “Cannot parse method signature ‘Render’”.
I set the MSBuild output verbosity up to “Diagnostic” and below are the interesting lines, which indicate that it is illegal to get an element from an array, which I know is not true. I think this is just some kind of misconfiguration, but I have not been able to figure out what is wrong.
1> C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.3\Tools\MetaDataProcessor.exe -loadHints Microsoft.SPOT.Graphics …
1> Method: GHI.Glide.UI.Keyboard::Render (TaskId:35)
1> 000000BB ldelem – Not supported (TaskId:35)
1>C:\Users\user\Desktop\Repositories\Glide\Glide\UI\Keyboard\Keyboard.cs(86,9,86,10): error MMP0000: Cannot parse method signature ‘Render’
1>MMP : error MMP0000: CLR_E_FAIL
1> The command exited with code 10. (TaskId:35)
1>Done executing task “MetaDataProcessor” – FAILED. (TaskId:35)
The “Render” method is:
/// <summary>
/// Renders the Keyboard onto it's parent container's graphics.
/// </summary>
public override void Render()
{
int x = Parent.X + X;
int y = Parent.Y + Y;
Parent.Graphics.DrawRectangle(0, 0, x, y, Glide.LCD.Width, Height, 0, 0, Colors.DarkGray, 0, 0, 0, 0, 0, 255);
Parent.Graphics.DrawImage(_bitmapX, y, BitmapUp[_bitmapIndex], 0, 0, Width, Height);
for (int i = 0; i < _keyActive.Length; i++)
{
if (!_keyActive[i])
Parent.Graphics.DrawRectangle(_keyCoords[i], Colors.DarkGray, 200);
}
}