# Changes between Version 13 and Version 14 of Documentation/DevelopmentCenter/CreateNewPluginUsingVS

Ignore:
Timestamp:
06/26/14 19:00:52 (5 years ago)
Comment:

--

### Legend:

Unmodified
 v13 * In this guide we'll use "GreatIdea" as name and choose the extension folder as location [[Image(create_solution.png)]] [[Image(create_solution.png, 70%, align=center)]] Next we add a new project to this solution. '''Assembly information''' We set the assembly version to the same value as the current HeuristicLab version by convention. In the official HeuristicLab repository the revision part is synchronized with the SVN revision number, it can be simply set to 0 in our case. Changing major or minor version numbers in the course of development marks a breaking change to previously saved files. If HeuristicLab wants to load an item of a plugin with version 3.3.8 it will accept the same plugin in version 3.3.9 to open it. However, it will reject the plugin when its major or minor is different (e.g. 3.2.7, 3.4.3 or 4.0.1). The "Assembly file version" is not used by HeuristicLab and can be set without any restrictions. We set the assembly version to the same value as the current HeuristicLab version by convention. It should only include major and minor, build and revision should always remain 0. In the official HeuristicLab repository the revision part is synchronized with the SVN revision number, it can be simply set to 0 in our case. The assembly file version can include the whole version string. '''Build''' On the "Debug" tab choose "Start external program" and select HeuristicLab.exe inside StableRoot\bin - this setting is stored in the .csproj.user file. [[Image(debug_options.png)]] [[Image(debug_options.png, align=center)]] '''Signing''' Activate "Sign the assembly" and create a new key or use the HeuristicLab.snk inside the plugins of StableRoot. Otherwise call the new key "TheKey", but deselect the password option. Save and close the project's properties. Save and close the project's properties. These changes ensure that the generated plugin is automatically added as a plugin to the HeuristicLab build and that we can use our solution to start a debugging session (shortcut ). Now, we want to make this class library a HeuristicLab plugin. === References === Every HL plugin has at least a reference to !PluginInfrastructure as this is needed for the Plugin.cs file. Therefore add a reference to this plugin: Every plugin has at least a reference to HeuristicLab.PluginInfrastructure as this is needed for the Plugin.cs file. Therefore add a reference to this plugin: [[Image(add_reference.png)]] }}} '''Important''': Changing major or minor version numbers in the course of development marks a breaking change to previously saved files. If HeuristicLab wants to load an item of a plugin with version 3.3.8 it will accept the same plugin in version 3.3.9 to open it. However, it will reject the plugin when its major or minor is different (e.g. 3.2.7, 3.4.3 or 4.0.1). The "Assembly file version" is not used by HeuristicLab and can be set without any restrictions. === Build path ===