Versions Compared

Key

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

...

The DeltaShell.Framework package ensures that all files in the framework are on your computer. It also adds a .targets fie file to your project so that it will copy the framework files into $(SolutionDir}bin\DeltaShell.

...

Code Block
languagexml
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <probing privatePath="DeltaShell;plugins;"/>
    </assemblyBinding>
  </runtime>
</configuration>

Auto-Restore Packages

You don't have to add the packages folder to svn, because TeamCity and Visual Studio already know how to handle and download the packages.

You may right click on your solution in visual studio and click Enable auto restore NuGet packages. This will add some files and a folder to your solution. From now on, the packages will be downloaded automatically when missing before compilation.

Updating to a newer version

If you have received a message that a new version of the framework has been released, you can manually update your packages in your product by executing some NuGet commands via the NuGet Package Console.

Code Block
Update-Package DeltaShell.ApplicationPlugin -Version y.y.y.yyyyy
Update-Package DeltaShell.TestProject -Version y.y.y.yyyyy
Update-Package DeltaShell.Framework -Version y.y.y.yyyyy

This will uninstall the old version and then install the new version. You can simply commit the files that have been changed in your projects. You don't have to commit the nuget packages, because we already have auto-restore enabled.

Creating an ApplicationPlugin derivative

...

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.

The bin folder should look like the following. The test dlls are directly in the Debug or Release folder and finds the dlls via app.

...

config probing. The plugin dlls are in its plugin directory and should not contain any dlls like PostSharp or other 3rd party dlls. And there shouldn't be any deltashell framework dlls either.

Image Added 

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.

...