Versions Compared

Key

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

...

The goal of this exercise is to show how a new plugin can be developed using the Delta Shell Application plugin NuGet package. The Delta Shell NuGet package will be used in order to make a quick start. The screenshots included in this whole tutorial may differ, depending on which version of Visual Studio is used. Most of the figures have been created using VS Visual Studio 2013, and some with VS Visual Studio 2015. The Community edition of Visual Studio can be used without any problem.

Create a new C# project

Start Visual Studio and create a new C# project (File | New | Project...) by configuring the project wizard as shown in the following image:

 
Afterwards, a
A new solution should be created with a the structure as shown in the following imagefigure:



The default class added, named Class1.cs can , must be removed.

Add the Delta Shell application plugin package to the project using NuGet

...

Note

As of Visual Studio 2013, NuGet is installed by default. However, you have to make sure that it is updated to the latest version by checking the Extension and Updates window (click TOOLS | Extensions and Updates... | Updates | Visual Studio Gallery). If a previous version is used, installing the Delta Shell application plugin package might result in the following error:

 

The We must now indicate the location from which the NuGet manager should retrieve the Delta Shell application plugin package is built on the TeamCity build server. We must add the build server package feed address to the package locations of NuGet. This can be done, by opening the options of Visual studio (click TOOLS | Options) and browse then browsing to the section Package Sources in the settings for the NuGet Package Manager.

 

Image Removed

Image Added

This package is automatically built on a TeamCity build server. We can retrieve it directly from that build server. If we decide to call this source, for example, TeamCityAuth, in In the Package Sources, add a new source by using the + button and add with the following information :

...

It is also possible to use the packages from a local source, if you have the files on package if it is locally saved in the computer, in a folder of your system. In this case, the source would be the folder in the computer in which the NuGet package files can be found. We can call this source Local Packages. For example, according to the figure below:

NameLocal Packages
SourceD:\localNuGet

 Image RemovedImage Added

Once it has been set up where the NuGet package for Delta Shell application pluginm can be found, this package needs to be installed in the solution that we have created at the beginning of this tutorial. In order to do this In order to make use of the Delta Shell Application Plugin, open the NuGet package manager (right click the solution | Manage NuGet Packages for Solution...) and search for the Delta Shell application plugin package in the source that you want to use. For example, if you select tyhe source called TeamCityAuth, shown in a solid blue line in the left of the figure, Visual Studio will contact the build server specified above indicated, and it will show the available packages in there:

...

In either case, proceed to install the Delta Shel Application plugin onto the solutiion.

In Visual Studio 2013, you will be asked to select the project into which you want to INSTALL the NuGet package. Select Deltashell.Plugins.VolumeModel :

...

Remove PostSharp from project

In this tutorial we don't use PostSharp because it During the installation of the Delta Shell application plugin, you might be asked to install PostSharp. PostSharp needs a license . PostSharp and is mostly used for automatically adding code for property and collection changed events and event bubbling. In this tutorial we will not use this functionality. So, if asked, you can cancel the installation of PostSharp. As indicated in the figure above, another possibility is that you are indirectly requested to install PostSharp by Visual Studio by the file RequiresPostSharp.cs added to the solution.

In order to fully remove PostSharp from the solution, To remove PostSharp do the following :

  1. Remove PostSharp reference and ", if present, the file RequiresPostSharp.cs" from the project (see the selected items in previous imagefigure above).
  2. Open the packages.config and remove the reference to PostSharp. The exact syntax will depend on the version of the .NET framework you are working with, and the corresponding version of PostSharp reference "available at the moment of following this tutorial. So the reference could be, for example:
    <package id="PostSharp" version="2.1.7.28" targetFramework="net40" />
    or
    <package id="PostSharp" version="3.1.75" targetFramework="net452" />
  3. Remove all other references to PostSharp in the project:
    1. Unload the project (right click on project - Unload project)
    2. Edit project file (right click on project - Edit DeltaShell.Plugins.VolumeModel.csproj)
    3. Remove (near the end of the csproj) all references to PostSharp. For example:

      Code Block
      languagec#
      <Import Project="..\packages\PostSharp.2.1.7.28\tools\PostSharp.targets" Condition="Exists('..\packages\PostSharp.2.1.7.28\tools\PostSharp.targets')" />


      or

      Code Block
      languagec#
      <DontImportPostSharp>True</DontImportPostSharp>
      
      ...
      
      <Import Project="..\packages\PostSharp.3.1.75\tools\PostSharp.targets" Condition="Exists('..\packages\PostSharp.3.1.75\tools\PostSharp.targets')" />
        <Target Name="EnsurePostSharpImported" BeforeTargets="BeforeBuild" Condition="'$(PostSharp30Imported)' == ''">
          <Error Condition="!Exists('..\packages\PostSharp.3.1.75\tools\PostSharp.targets')" Text="This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them.  For more information, see http://www.postsharp.net/links/nuget-restore." />
          <Error Condition="Exists('..\packages\PostSharp.3.1.75\tools\PostSharp.targets')" Text="The build restored NuGet packages. Build the project again to include these packages in the build. For more information, see http://www.postsharp.net/links/nuget-restore." />

    Load project
    1. 
        </Target>


      The lines to be removed will depend on the version of Visual Studio being used, and on the version of PostSharp that was incorporated to the project.

    2. Finally, load project back again.

Set startup project

Start building the project. This will copy DeltaShell to the bin folder next to your solution file (D:\VolumeModel\bin)
Now open the project properties and go to the debug page and change set the startup program to : D:\VolumeModel\bin\Debug\DeltaShell\DeltaShell.Gui.exe

...