Firstly, you should run the lisp (command "_netload" .....) in acad.lsp, instead of acaddoc.lsp, which runs on every newly opened drawing, while the .NET DLL only needs to be loaded into AutoCAD once.
Also, you did not say what the deployment actually does except for place files to "...the correct location", I assume it is the folder "C:\CAD\C3D\2021\Basics". You need to make sure this location is a "trusted location" in the AutoCAD running profile.
You can easily find out if your DLL is loaded or not in following way:
1. You can make your DLL as IExtensionApllication and in the Initialize() method, write some message to the command line:
public void Initialize()
{
var ed=Application.DocumentManager.MdiActiveDocument.Editor;
ed.WriteMessage("\nLoading custom addin: \"CivYam.dll\"...");
... ...
}
This way, after AutoCAD started, you should see this message at command line.
2. Or you can simply add (princ "\nCivYam.dll loaded") following (command "_netload" ...) in acad.lsp. Again, after AutoCAD starts, you should see this message.
If you do not see message at command line after AutoCAD starts, it is possible the acad.lsp does not get run by AutoCAD. you need to check if acad.lsp is available in one of the support path of running profile. Or, you may have mutiple support paths contain acad.lsp, but the only the acad.lsp in the first support path get run, thus the (command "_netload" ,,, ...) should be in this acad.lsp.
Or, the running acad.lsp (in your case, it is acaddoc.lsp, but again, you should use acad.lsp) contains many lisp statements before (command "_netload" ...), and it could run into error before (Command "_netload" ...) is reached, thus, the DLL is not get loaded.
The other possibility is that if your DLL does implemented IExtensionApplication and you have some code in Initialize(), make sure you wrap the all code in try...catch... Otherwise, if the code raises exception for some reasons (other users computers may have different configuration from yours, that may be relevant to your code in Initialize()), the loading DLL process would be aborted.
Since your DLL is placed in specific folder and not loaded with "auto loading" mechanism, you'd be better to provide some hint to user that the dll is loaded (by printing message to command line; no message, then, means not loaded).