SDK 7.0.67.1073 errors on .NET Compact Framework 3.5

Hello,

I’m trying to create an application using the 7.0.67.1073 SDK compiled for the .NET CF.

Here’s the code that starts the server:

// Add service to type manager
RemObjects.SDK.TypeManager.TypeAssemblies.Add(typeof(ScaleService).Assembly);

// Initialize network connectivity components
fServerMessage = new BinMessage();

fServerChannel = new IpHttpServerChannel() { Port = 8098 };

fServerChannel.Dispatchers.Add(“bin”, fServerMessage);

fServerChannel.Activate(); <== error occurs here

ScaleService currently has a single function that returns a string and takes no parameters.

When I compile the server I receive the following messages:

warning CS3021: ‘ArizonaChemical.ScaleService_Proxy.__GetInterfaceName()’ does not need a CLSCompliant attribute because the assembly does not have a CLSCompliant attribute

And when I try to start the server on the device I receive the following message:

“Value does not fall within the expected range”

There’s no explanation of what value is out of range.

The thing I don’t understand is that I’d done another application with a previous build of the SDK and it worked properly. But this new application / project won’t work even though I’ve followed the same procedure.

Hello.

Unfortunately, it is hard to say the cause of the problem. Can you send us testcase and stacktrace with the problem and compiled RemObjects SDK CF assemblies?

Thanks in advance.

Will do ASAP.

In the mean time, gone back to 6.0.55.957 and it works.

I’m finally taking time over the long weekend to look at this…

I cannot send you a stacktrace because this is a compiler warning not a runtime message. It occurs because the the “__GetInterfaceName()” of the ScaleService_Proxy class is decorated with the CLSCompliantAttribute attribute:

    [System.CLSCompliantAttribute(false)]
    protected override string @__GetInterfaceName()
    {
        return "ScaleService";
    }

If I comment out or remove the attribute then the compiler warning goes away. However, this code is generated by the Service Builder and returns every time the Service Builder is utilized.

So the question is… why does the Service Builder add this attribute to the ScaleService_Proxy.__GetInterfaceName() method when it isn’t necessary?

Hello.

I have reproduced the problem. Corresponding issue is registered as #63907.

Thanks.

Thank you!