...
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. Delta Shell is the application that is going to be booted and it is not recommended to make your own launcher.
Warning |
---|
Set your C# projects to the .NET Framework 4 version |
...
Because we want to make an ApplicationPlugin, we are going to need another package. Install it in the same way via the Package Manager Console. Install-Package DeltaShell.ApplicationPlugin -Version x.x.x.xxxx
. To stay consistent, use the same version number.
Infowarning |
---|
Make sure that you always use the latest pinned version from TeamCity. Omitting the |
DeltaShell.ApplicationPlugin
...
Setting up compilation
It is super-duper very important of utmost importance to remember the following:
...
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.
Warning |
---|
If something went wrong during compilation and you see that your bin folder contains more than you wanted, it is the easiest and cleanest to just delete your bin folder in the solution folder. This is quicker and safer than pressing clean in Visual Studio. |
Verify your build output
You can find your own dll in bin\$(Configuration)\plugins\$(AssemblyName)
.
...
Info |
---|
Always take notice that your plugin folder only contains the dlls you expect. And always take notice that |
Debugging Delta Shell
Since your assemblies are just dll's and don't have an actual startup point, you will have to set it yourself. We wanted to add this information in the install script of the NuGet packages, but it seems that this is information found in the .suo file.
...
We have already set up a couple of templates in teamcity for you to automatically let your unit tests run and let your installers create what it needs to.
- Run Product Tests
- Run Product Tests Updated Trunk
- Build Solution (Release)
- Build MSI via MSBuild
Run Product Tests
Make a new TeamCity configuration and make it based on the template for unit tests. Fill in the name of your sln file in product_sln_file
. You may exclude or include some categories if you want.
...