...
This is the default way of making a solution and the plugin csprojs that come along. Of course, you can do this in visual studio. The csproj that you add should be a class library, because we are going to make a plugin and the plugin is a dll that will be loaded by Delta Shell.
Warning |
---|
Set your C# projects to the .NET Framework 4 version |
Download the Delta Shell SDK
...
You can also make a unit test project that works in Delta Shell. To do so, install the DeltaShell.TestProject
package into your test project. Take notice of the Default Project in the Package Manager Console, because you want the DeltaShell.TestProject
to be in your test project and not in your application plugin project.
Adding dll references
...
Creating an ApplicationPlugin derivative
Now that your project is ready to work with, you can add your first class, that will be an ApplicationPlugin. How to actually write the rest of an ApplicationPlugin will be explained in another tutorial.
Code Block | ||
---|---|---|
| ||
namespace DeltaShell.Plugins.Unibest
{
[Extension(typeof(IPlugin))]
public class UnibestApplicationPlugin : ApplicationPlugin
{
}
} |
Now you are almost ready to compile.
Setting up compilation
It is super-duper very important to remember the following:
Warning |
---|
You must always set the references to framework dll's to copy-local=False. This also accounts for Mono.Addings and other dll's that are automatically added to the project. |
Why, you ask? Because they are already being copied into $(SolutionDir)\bin\DeltaShell
and don't need to be in your own assembly's output folder.
Warning |
---|
You must always set the references to other project to copy-local=False |
Why, you ask? Because they already have their own output folder and you don't want these dlls to be doubled in your bin directory.
Now you may press the compile button. Have a look in your bin folder next to your solution folder. You will see that there are two folders. One is for the framework, the other contains all the plugins.
Verify your build output
You can find your own dll in bin\$(Configuration)\plugins\$(AssemblyName)
.
Your test project is compiled into the bin folder directly, because it has to know about the plugins and the framework. This may look a bit odd, but we are still looking for a good workaround for that. There will also be a folder called test-data that contains a symbolic link. This will be explained later in this tutorial.
Info |
---|
Always take notice that your plugin folder only contains the dlls you expect. And always take notice that |