-
Notifications
You must be signed in to change notification settings - Fork 7
Description
Description
When loading module by name, module and its dependencies must be placed in garrysmod/lua/bin/Modules/ModuleName where ModuleName is exactly module's main assembly name. Any typo in folder name will make module load process impossible. We can override default publish folder name from publish to publish/$(AssemblyName). For example, for a module with name TestModule, the output of dotnet publish TestModule.csproj -c Release will be located at bin\Debug\net5.0\publish\TestModule and one can simply copy folder to Modules or ship to another machine or user without fear of typos.
Technical implementation
We can add GmodNET.API.props file to a GmodNET.API NuGet package, so any project referencing API will have its publish dir name overridden. Since .props files are imported before the main body of the project file, developers can override publish dir name themself one more time.