[C#] The thread of pain OR Why FiveM is FiveM?

Hello everyone,

I want to share my pain with you, especially I appeal to the FiveM developers. With each update, im, as the developer of my own C # framework, get scared when the update download bar appears on the screen. The thing is that with each new update of the server version, I systematically have problems associated not with the framework (it works wonderfully on previous builds), but with the server itself, most of the time I spend not on developing a framework or other modifications for FiveM , but I’m looking for solutions to new problems that have appeared with the update. On the forum, as a rule, posts do not gain many views, much less answers, and even less useful ones.

After the next update, I encountered a problem of the following nature:

  1. I am compiling my C# framework for FiveM in Visual Studio 2019 (it works without problems on previous versions of the server)
  2. Then im start the server and when the resource starts, I get an error: blah blah blah can’t find assembly rage-scripting.dll (wtf?)
  3. Then im recompile the framework again, but remove the link to CitizenFX.Core.Server.dll
  4. Then im start the server, everything works.
  5. Then im recompile again, but make small changes to the code, again nothing works.
  6. Then im adding a link to CitizenFX.Core.Server.dll (yes, the one that I deleted in step # 3)
  7. Then im recompile again without making any changes except step # 6 and everything works.

So the question is, am i retarded, or the new builds of the FXServer’s are breaking everythings?

p.s Yeah, i known the is no provided detailed info about

blah blah blah can’t find assembly rage-scripting.dll

but there is too much errors to remember them all, i got no time for it, i need to try to fix that goddame server. Love you all.:smiling_face_with_three_hearts:

fivem

… what’s this nonsense?

ok

right

Server builds are not related to client updates at all. Sounds a bit misassociating.

Generally compatibility isn’t broken whatsoever even across updates - and changes tend to be very conservative to ensure this. If there’d be ‘new problems’ with ‘every’ update, don’t you think the forums would go crazy multiple times a week?

Instead, you can in pretty much all cases take a script (or even a compiled C# resource) written in 2017 and run it verbatim 2 years later without any new problems.

Uh, no? Posts without information don’t get any ‘answers’ and why would you expect a support question to go viral?

Ah, you already have ‘the next update’, when nothing is even made or even planned at this time? Let’s assume this means ‘the last update’.

The latest server build contains a total of 0 changes made to the server other than an automated version bump, let alone the C# runtime.

Weird, there’s no results for anything involving blah blah assembly on the repository. If you’re trying to report an issue, perhaps start off by not paraphrasing it.

If you mean “Couldn’t load component rage:scripting:five”, first off that’d be a client error, and secondly that doesn’t happen on resource start at all.

Why are you ‘linking’ (I guess you mean referencing?) a .dll directly, and not the NuGet package?

Okay, so your resource works even though it doesn’t compile, since you can’t compile without referencing the CitizenFX.* assembly, as it won’t find any of the types?

Evidently, since you didn’t have the assembly added.

Ah, it starts to add up.

Are you

  1. Using Visual Studio with a legacy (non-.NET Core-style) .csproj?
  2. Directly adding renamed copies of the client/server CitizenFX.Core.dll to your project, rather than the reference assemblies included in the NuGet packages (client, server), or worse - the Client/Server assemblies included in the server zip/client update?
  3. Having both a client and server project in the same solution?

If you are using DLLs directly, that’s a Visual Studio bug with multiple assemblies with the same identity in the same solution where it gets confused as to which to reference. If you’re using the facade assemblies from the .zip, those will not work as they’re facade assemblies and not reference assemblies. I’m honestly surprised VS even lets you build with those.

Yes, you are ‘retarded’ as you put it yourself. Use the NuGet packages, don’t try to use the raw CitizenFX.Core assemblies and especially don’t try to use the facade assemblies.

You don’t need to ‘remember’ any error message, every OS has a clipboard.

2 Likes

Love ya ma boY :stuck_out_tongue:

What the hell are you talking about? The official wiki says use CitizenFX.Core.Client.dll from the FiveM Application Folder, why do you talk about NuGets that aint work?

I mean there is much error’s at different times, and creating a new thread every time and waiting until someone can help is stupid, because often the answers are never found.

No, it doesn’t. There’s also no ‘official wiki’.

The official documentation (which is slightly outdated by now) however mentions citizenfx.core.dll, not citizenfx.core.client.dll, which will work fine as long as Visual Studio is updated.

The linked packages work fine, however?

And going ‘fivem is broken and bad’ because you are seemingly doing a lot of things wrongly and can’t be bothered to ask anyone isn’t stupid?