Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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 ConsoleInstall-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 -Version option will give you the latest successful build, but this is not desired.

Image Added

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 $(SolutionDir)bin\$(Configuration) only contains test dlls and test utils dlls.

 

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.

...