E: Type "RemObjects.Elements.RTL.String" is defined in multiple references: Elements, elements

I’ve created a simple multiplatform library. Next I added an “EUnit Test Application (Java)” project to the solution to test it.

Next I drag the library project into the References node of the test application project in order to get ready to write test cases. When I compile everything at this point, I get the compiler errors:

E: Type “RemObjects.Elements.RTL.String” is defined in multiple references: Elements, elements [/Users/dana.haukoos/Gitlab/MPhttpRO/testapplicationAndroid/Program.java (7)]
E: Type “RemObjects.Elements.RTL.String” is defined in multiple references: Elements, elements

It seems that the multiplatform library has a reference to Elements, and the test project has a reference to elements, and because they are spelled differently, the system is not recognizing they should be redundant references (?)
In any case, what to do to resolve this?

This seems to be a side effect of how references are managed in multi-target projects, yes. the “Elements” reference is, I assume, set on project level, for all targets, and you (again I assume) added the Eunit referent to the Java target, which (erroneously) tries to pull in “elements” again.

Can you send me your project file (just the .elements is fine) so that I can see what’s happening exactly? hopefully I can (a) have a quick look and see if in can tweak it to work around this for you right now and (b) properly fix this, for tomorrow’s build (I’m sure it’s a check that should be case insensitive but isn’t somewhere; Java loser-cases all reference names; the other platforms don’t…

thanx!

FWIW, tried to reproduce this here and can’t replicate it, so searing what’s exactly in your .elements will definitely help. thanx!

Here’s a newer zip file where I’ve recreated this problem.

Dana

MPhttpRO 2.zip (2.14 MB)

reproduced, thanx.

manually adjusting the case in the test/main project to uppercase “Elements” should work around this for now; I’ll fix to have this handled properly now.

    <Reference Include="elements">
      <Private>True</Private>
    </Reference>

to

    <Reference Include="Elements">
      <Private>True</Private>
    </Reference>

And fixed for build .2465.