-
Notifications
You must be signed in to change notification settings - Fork 34
Add SDK-style .csproj template for LabAPI plugin development targetin… #229
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
…g .NET Framework 4.8 Provides a clean, NuGet-ready SDK-style .csproj template for SCP:SL plugin developers using LabAPI and Unity assemblies. Key features: - Targets .NET Framework 4.8, matching LabAPI requirements - Uses manual Unity DLL references to resolve mscorlib compatibility - Disables implicit framework references to avoid CS7069 errors - Supports NuGet packaging via Microsoft.NET.Sdk - Includes audio module and core Unity engine references Helps new developers avoid common build issues and sets up a smooth foundation for plugin creation.
|
We use enviromental variables instead of defining the paths in csproj. This way you wont have to change it in every project you create, but only once. |
| <!-- Disable implicit references to manually bind Unity .NET --> | ||
| <DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences> | ||
|
|
||
| <!-- NuGet config (optional) --> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not needed, feel free to remove this, plugins published to nugets are really weird, if needed their own developers can set this up
| <PropertyGroup> | ||
| <!-- Define Unity DLL folder --> | ||
| <UNITY_REFERENCES>C:\Program Files (x86)\Steam\steamapps\common\SCP Secret Laboratory Dedicated Server\SCPSL_Data\Managed</UNITY_REFERENCES> | ||
| </PropertyGroup> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not needed as we use env variables
|
|
||
| <ItemGroup> | ||
| <!-- LabAPI NuGet --> | ||
| <PackageReference Include="Northwood.LabAPI" Version="1.1.0" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| <PackageReference Include="Northwood.LabAPI" Version="1.1.0" /> | |
| <PackageReference Include="Northwood.LabAPI"/> |
|
|
||
| <!-- Game assemblies --> | ||
| <Reference Include="Assembly-CSharp"> | ||
| <HintPath>$(UNITY_REFERENCES)\Assembly-CSharp.dll</HintPath> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Check this out and use the proper paths for it https://github.com/northwood-studios/LabAPI/blob/master/LabApi/LabApi.csproj#L48
Take it as a template
* Isolated room creation from base game. * Added camera toy wrapper * Added camera property to camera toy wapper --------- Co-authored-by: ced777ric <44529860+ced777ric@users.noreply.github.com>
…g .NET Framework 4.8
Provides a clean, NuGet-ready SDK-style .csproj template for SCP:SL plugin developers using LabAPI and Unity assemblies.
Key features:
Helps new developers avoid common build issues and sets up a smooth foundation for plugin creation.