RonenNess / GeonBit.UI

UI system for MonoGame projects.
MIT License
467 stars 63 forks source link

GeonBit references datatype.dll will not load in pipeline tool on mac #107

Closed beckylum0216 closed 10 months ago

beckylum0216 commented 5 years ago

Hi Ronen,

Trying to build my project with the GeonBit ui in on Mac. Added the reference in the pipeline tool and project. The project will not build on XML files. How do we get the pipeline tool to recognise the datatype.dll on Mac?

Screen Shot 2019-05-27 at 11 18 37 am
RonenNess commented 5 years ago

Hi @beckylum0216 I never built it on Mac but I don't think your problem is related to the data types or geonbit at all, check out the error code: could not load xamarin.mac. Looks like problem with monogame installation perhaps. Are you able to build content that is not from geonbit.ui?

beckylum0216 commented 5 years ago

Hi Ronen,

Just opened an empty project and added assets. The pipeline built without any issue. The addition of GeonBit.UI to the project causes the same issue. For some reason it does not build xml files from GeonBit. I am aware that this is on a Mac, but I am required to develop on the the Mac platform. I am guessing that the content pipeline is not detecting Datatypes.dll at all. You help would be much appreciated.

Regards,

Rebecca Lim

RonenNess commented 5 years ago

Hi Rebecca, I don't think its related because its just not the error you normally get if the DataTypes.dll is not recognized. If that was the issue you would get something like this:

C:/Projects/GeonBit.UI/GeonBit.UI/Content/GeonBit.UI/themes/lowres/textures/slider_fancy_md.xml : error : Importer 'XmlImporter' had unexpected failure!
**1>  System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.**
1>     at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
1>     at System.Reflection.Assembly.GetTypes()

I searched and found this issue: https://github.com/MonoGame/MonoGame/issues/6509

Do you think its related? Sorry I can't help you much, I just don't have a Mac so its hard for me to reproduce from my end. Maybe in the forum you'll get more help?

Another alternative is you can get the built xnb files and add them with Copy option. If you don't own a Windows PC let me know I can build them for you and upload someplace. But that means you won't be able to edit the built-in themes.

Please let me know if you find any hint.. Thanks,

QuinnBast commented 4 years ago

I'm getting the same error as @beckylum0216 on Windows after installing GeonBit from Nuget. This issue does seem to be related to the issue you linked in MonoGame but the problem is pretty critical since your framework doesn't work at all with this error.

image

beckylum0216 commented 4 years ago

@QuinnBast I don't think I ever fixed the issue. I could not get the framework to work on Mac. IIRC after I solved the Datatypes.dll issue other errors cropped up on Mac. In the end, we only ported it to Linux.

QuinnBast commented 4 years ago

Leaving this here for reference but there appears to be a critical problem in MonoGame's content pipeline affecting any library that makes use of content pipeline references, which includes GeonBit.UI (and many other UI libraries). The only non-effeced UI library I've come across so far is Myra since it doesn't utilize content pipeline references.

https://github.com/MonoGame/MonoGame/issues/6676

Hopefully this gets resolved by MonoGame

J23t commented 4 years ago

Tried VS channel, Stable, and Preview versions of mono and still same problem.

TeamShuriken commented 4 years ago

Leaving this here for reference but there appears to be a critical problem in MonoGame's content pipeline affecting any library that makes use of content pipeline references, which includes GeonBit.UI (and many other UI libraries). The only non-effeced UI library I've come across so far is Myra since it doesn't utilize content pipeline references.

MonoGame/MonoGame#6676

Hopefully this gets resolved by MonoGame

I ran into the problem today but I figured out how to build the content with the pipeline.

  1. Copy DataTypes.dll and GeonBit.UI.dll from ....\packages\GeonBit.UI.3.4.0.1\lib\geonbitui to the project containing the Content.mgcb file in your project

  2. Open Content.mgcb in notepad and in the References section, add this line : /reference:DataTypes.dll

  3. The Content.mgcb should now build properly.

PS : I'm not sure if copying GeonBit.UI.dll was necessary, possibly I only needed to copy DataTypes.dll.

What got me thinking that this should work is when I opened the Content.mgcb file from the sample and found a link to the DataTypes.dll in the reference section.

slowvoid commented 4 years ago

Leaving this here for reference but there appears to be a critical problem in MonoGame's content pipeline affecting any library that makes use of content pipeline references, which includes GeonBit.UI (and many other UI libraries). The only non-effeced UI library I've come across so far is Myra since it doesn't utilize content pipeline references. MonoGame/MonoGame#6676 Hopefully this gets resolved by MonoGame

I ran into the problem today but I figured out how to build the content with the pipeline.

  1. Copy DataTypes.dll and GeonBit.UI.dll from ....\packages\GeonBit.UI.3.4.0.1\lib\geonbitui to the project containing the Content.mgcb file in your project
  2. Open Content.mgcb in notepad and in the References section, add this line : /reference:DataTypes.dll
  3. The Content.mgcb should now build properly.

PS : I'm not sure if copying GeonBit.UI.dll was necessary, possibly I only needed to copy DataTypes.dll.

What got me thinking that this should work is when I opened the Content.mgcb file from the sample and found a link to the DataTypes.dll in the reference section.

Thanks for the tips, managed to build content after following your instructions.

There is no need to copy GeonBit.UI.dll, built was successful just by referencing DataTypes.dll

RonenNess commented 10 months ago

In last version I removed DataTypes completely and switched to regular XML files. Hope this solve all these issues.