Type or namespace name 'ProjectileShoot' does not exist in the namespace 'ProtoBuf'
Hi, I have successfully created a test plugin within VS19.. well kind of.

I've added the reference to the .dll files inside the 'RustDedicated_Data\Managed' folder and I can build a blank Hello World plugin.
But when I try to build a test plugin using the OnWeaponFired method, VS complains about:

- The type or namespace name 'ProjectileShoot' does not exist in the namespace 'ProtoBuf' (are you missing an assembly reference?)

If I just ignore the error and copy the file into a running Rust server it will work.
I'd like to know what reference am I missing so I can compile the plugin before testing it with a running rust server.
Thanks.
That reference doesn't come from Oxide, that is part of Rust. It's likely you have a conflict with namespaces though from having too many files references. I would suggest not referencing Oxide.References.dll, as that may be where your cause is.
Here are the dependecies I've imported.
Am I missing something or do I something extra ?

Actually there is second error: Found conflicts between different versions of "System.Buffers" that could not be resolved. These reference conflicts are listed in the build log when log verbosity is set to detailed.

You should be targetting .NET 4.8, 4.6, or 3.5 really, not .NET Core.
I got rid off the conflict but it still got the error.
Any ideias ?



You'd likely want to add references to the Rust.*.dll files as well as the Facepunch.*.dll files.
Btw, I'm using these includes:

using Oxide.Core;
using Oxide.Core.Libraries.Covalence;
using Oxide.Core.Plugins;

using Rust;
using UnityEngine;

using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;​


Merged post


Still got the error.. do I need to add any reference from the rust (client/server) install folder ?

Merged post

OK got it, you need to add:

- Assembly-CSharp.dll
- Facepunch.*
- Oxide.*
- Rust.*
- UnityEngine.CoreModule

And all these plugins must come from a working rust server i.e. 'data/RustDedicated_Data/Managed'. If you, like me, just download the Oxide zip bundle from their site and try to reference it directly.. it will not work as it's missing a lot of stuff.
Yup, the majority of references you would use are provided by the game. Oxide only provides what we patch and the original parts of it.
While you're here and explaining stuff would you please tell me what the difference between a class and a namespace is?

:-D