Jump to content
RAGE Multiplayer Community

[C# Clientside] How to fix/avoid CS0012 at clientside? (Clientside Assembly missing)


Recommended Posts

Hey everyone,

 

I have a CS0012 at my clientside c# code. To understand what CS0012 is read here: https://docs.microsoft.com/en-us/dotnet/csharp/misc/cs0012

Simply it means I have a assembly which references another and I am using an function of the referenced assembly of the assembly I am using - So I would need to add BOTH assemblies but how do I solve clientside dependencies? Is it using bridge\runtime too? I guess not.

 

see clientside_cs.txt (log)

CS0012: Der Typ "ITypedList" ist in einer nicht referenzierten Assembly definiert. Fügen Sie einen Verweis auf die Assembly "System.ComponentModel.TypeConverter, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" hinzu.
       -> D:\Programme\RageMP\client_resources\185.239.238.137_22005\cs_packages\GUI.cs:203

CS0012: Der Typ "IBindingList" ist in einer nicht referenzierten Assembly definiert. Fügen Sie einen Verweis auf die Assembly "System.ComponentModel.TypeConverter, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" hinzu.
       -> D:\Programme\RageMP\client_resources\185.239.238.137_22005\cs_packages\GUI.cs:203

CS0012: Der Typ "INotifyCollectionChanged" ist in einer nicht referenzierten Assembly definiert. Fügen Sie einen Verweis auf die Assembly "System.ObjectModel, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" hinzu.
       -> D:\Programme\RageMP\client_resources\185.239.238.137_22005\cs_packages\GUI.cs:203

CS0012: Der Typ "ITypedList" ist in einer nicht referenzierten Assembly definiert. Fügen Sie einen Verweis auf die Assembly "System.ComponentModel.TypeConverter, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" hinzu.
       -> D:\Programme\RageMP\client_resources\185.239.238.137_22005\cs_packages\GUI.cs:205

CS0012: Der Typ "IBindingList" ist in einer nicht referenzierten Assembly definiert. Fügen Sie einen Verweis auf die Assembly "System.ComponentModel.TypeConverter, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" hinzu.
       -> D:\Programme\RageMP\client_resources\185.239.238.137_22005\cs_packages\GUI.cs:205

CS0012: Der Typ "INotifyCollectionChanged" ist in einer nicht referenzierten Assembly definiert. Fügen Sie einen Verweis auf die Assembly "System.ObjectModel, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" hinzu.
       -> D:\Programme\RageMP\client_resources\185.239.238.137_22005\cs_packages\GUI.cs:205

CS0012: Der Typ "ITypedList" ist in einer nicht referenzierten Assembly definiert. Fügen Sie einen Verweis auf die Assembly "System.ComponentModel.TypeConverter, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" hinzu.
       -> D:\Programme\RageMP\client_resources\185.239.238.137_22005\cs_packages\GUI.cs:221

CS0012: Der Typ "IBindingList" ist in einer nicht referenzierten Assembly definiert. Fügen Sie einen Verweis auf die Assembly "System.ComponentModel.TypeConverter, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" hinzu.
       -> D:\Programme\RageMP\client_resources\185.239.238.137_22005\cs_packages\GUI.cs:221

CS0012: Der Typ "INotifyCollectionChanged" ist in einer nicht referenzierten Assembly definiert. Fügen Sie einen Verweis auf die Assembly "System.ObjectModel, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" hinzu.
       -> D:\Programme\RageMP\client_resources\185.239.238.137_22005\cs_packages\GUI.cs:221

 

 

here are my codelines:

line 203

UIMenuItem currentItem = sender.MenuItems[index];

line 205

JArray arr = new JArray()

line 221

JArray arr = new JArray()

info: each JArray has JProperties defined in body like this:

JArray arr = new JArray()
                    {
                        new JProperty("componentId"6),
                        new JProperty("drawable"element["drawable"]),
                        new JProperty("texture"element["texture"]),
                        new JProperty("save"true),
                        new JProperty("sync"true),
                    };

 

Cheers,

Tim.

Edited by Quantum123
Link to post
Share on other sites

Hey, I fixed errors at line 205 and 221. Don't define JProperties in the construction body!

Still line 203 is generating the same errors..

I tried to use 

UIMenuItem currentItem = sender.MenuItems.ElementAt(index);

instead of 

UIMenuItem currentItem = sender.MenuItems[index];

but I still got the same error.

Link to post
Share on other sites

Still no update on this?
This is happening as soon as I am checking a value of the UIMenuItem, e.g. if (currenItem.RightLabel == "SomeText")

This is whether an error in the official dynamic link library or there is a lack of documentation of how to add assemblies to clientsite on my own.

Cheers.

Link to post
Share on other sites
vor 8 Stunden schrieb Division:

Debug doch mal den Wert, der bei currentItem.RightLabel drin steht und was das für ein Typ ist.

The problem is, that clientside scripts are kept uncompiled, so I am not able to debug this.

Also it is not only about RightLabel. Since there are Interfaces mentioned like INotifyPropertyChanged, INotifyCollectionChanged I guess it happens because I am trying to retreive a value within an event. How do I create a workaround for that?

Link to post
Share on other sites

Since it is asking for version 0.0.0.0 of the referenced assembly I guess there is something going on in rage-sharp.dll.
I referenced and served the assemblies with version 4.3.0 and still the same error occured. (Trying to put .dlls into cs_packages folder)

Also one of the reference is standard.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...