Difference between revisions of "Modding Tutorials/Setting up a solution"
Jump to navigation
Jump to search
(→Sharpdevelop: Repeated instructions to finding the compiling tab (user was confused)) |
m (Making edits as I go through tutorial to make it easier for next person. -Copy to out replaced with Copy to output, a) |
||
Line 26: | Line 26: | ||
## In the References folder, right-click Assembly-CSharp -> Properties and change "Local copy" to False. Do the same for UnityEngine, | ## In the References folder, right-click Assembly-CSharp -> Properties and change "Local copy" to False. Do the same for UnityEngine, | ||
# In your project properties, change the target framework to .NET 3.5: | # In your project properties, change the target framework to .NET 3.5: | ||
− | ## In your IDE project file browser, right-click | + | ## In your IDE project file browser, right-click "(YourSolutionName)"; |
## Choose Properties; | ## Choose Properties; | ||
## Go to the "Compiling" tab, "Output", "Target framework", "Change" and choose ".NET Framework 3.5", | ## Go to the "Compiling" tab, "Output", "Target framework", "Change" and choose ".NET Framework 3.5", | ||
# In your project properties, change the build events so only a single file is built: | # In your project properties, change the build events so only a single file is built: | ||
## Go to the "Compiling" tab, "Output", "Debug info" and choose "No debug information"; | ## Go to the "Compiling" tab, "Output", "Debug info" and choose "No debug information"; | ||
− | ## Right-click your .cs files -> Properties and change "Copy to out" to Never, | + | ## Right-click your .cs files -> Properties and change "Copy to output" (If you haven't resized the properties bar, this will be truncated to "Copy to out") to Never, |
# In your project properties, fix the output location to put the DLL in the Assemblies folder: | # In your project properties, fix the output location to put the DLL in the Assemblies folder: | ||
## Go to the "Compiling" tab, "Output", "Output path" and change the output path to "..\..\Assemblies\".<br/><br/> | ## Go to the "Compiling" tab, "Output", "Output path" and change the output path to "..\..\Assemblies\".<br/><br/> |
Revision as of 15:39, 10 April 2017
This page was originally created by Alistaire.
In this tutorial you will learn how to set up a solution, along with instructions on setting the output directory and files for more convenient building right into the Assemblies folder.
Requirements
- This tutorial requires you to have set up a Source and Assemblies folder.
- You will want to have an IDE installed: Recommended IDE's.
Setting up a solution
Setting up can be different for different IDE's. Feel free to add complete instructions for your IDE of choice.
Sharpdevelop
- Create a new class library project in your IDE of choice;
- Go to File -> New -> Solution;
- Go to C# or .NET -> Library or Class Library (NOT portable);
- Enter a project name (solution name automatically updated);
- Choose a location, preferably:
(RimWorldInstallFolder)/Mods/(YourModName)/Source
- Optional: Untick "Create a directory for solution"/"Create a project within the solution directory",
- In your project, add references to Assembly-CSharp.dll and UnityEngine.dll:
- In your IDE project file browser, right-click the "References" folder and "Add reference";
- Choose the ".NET Assembly Browser" tab and "Browse...";
- Navigate towards
RimWorld******/RimWorld******_Data/Managed
and select files:Assembly-CSharp.dll UnityEngine.dll
- Click "Open" then "OK";
- In the References folder, right-click Assembly-CSharp -> Properties and change "Local copy" to False. Do the same for UnityEngine,
- In your project properties, change the target framework to .NET 3.5:
- In your IDE project file browser, right-click "(YourSolutionName)";
- Choose Properties;
- Go to the "Compiling" tab, "Output", "Target framework", "Change" and choose ".NET Framework 3.5",
- In your project properties, change the build events so only a single file is built:
- Go to the "Compiling" tab, "Output", "Debug info" and choose "No debug information";
- Right-click your .cs files -> Properties and change "Copy to output" (If you haven't resized the properties bar, this will be truncated to "Copy to out") to Never,
- In your project properties, fix the output location to put the DLL in the Assemblies folder:
- Go to the "Compiling" tab, "Output", "Output path" and change the output path to "..\..\Assemblies\".
- Go to the "Compiling" tab, "Output", "Output path" and change the output path to "..\..\Assemblies\".
Xamarin
The setup is similar as the one above. A few special points to address:
- Mono 4.X isn't backward compatible so you may need to install an older 3.X version of Mono in order to compile against .NET3.5 dlls.
- Make sure you uncheck "Use MSBuild build engine (recommended for this project type)" under project > options > build > general
See also
- Writing custom code continues on setting up your solution.