Changes between Version 23 and Version 24 of Documentation/DevelopmentCenter/CreateNewPluginUsingVS
- Timestamp:
- 07/25/14 13:46:56 (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Documentation/DevelopmentCenter/CreateNewPluginUsingVS
v23 v24 102 102 * `..\..\bin` for projects inside the trunk 103 103 * `..\..\..\..\trunk\sources\bin\` for projects inside the branches directory 104 * We typically use pre-build events for automatic versioning. This expects a `Plugin.cs.frame` and `Properties\AssemblyInfo.cs.frame` file to be present in your project (see below ). It will replace the version placeholder with the SVN version and overwrite the respective .cs file. Note that you must at least add your code in the working copy for this to work. Typically, these are the pre-build commands:104 * We typically use pre-build events for automatic versioning. This expects a `Plugin.cs.frame` and `Properties\AssemblyInfo.cs.frame` file to be present in your project (see below "Create frame files"). Typically, this is the pre-build command: 105 105 {{{ 106 106 set Path=%Path%;$(ProjectDir);$(SolutionDir) … … 121 121 === Create frame files === 122 122 Each HeuristicLab plugin has two frame template files, AssemblyInfo.cs.frame and Plugin.cs.frame. We use these .frame files and `SubWCRev` to automatically convert those into .cs files and add the repository version number to the revision-version. 123 * AssemblyInfo.cs.frame 124 * AssemblyVersion --> if this one changes all dependent plugins must be rebuilt as well, should be set to e.g. 3.3.0.0 and touched only again when major or minor version changes 125 * AssemblyFileVersion --> not relevant for build process, should be set to e.g. 3.3.10.$WCREV$ 123 * AssemblyInfo.cs.frame --> create by duplicating AssemblyInfo.cs 124 * Make sure AssemblyTitle, AssemblyDescription, etc. are all set 125 * AssemblyVersion --> should be set to e.g. 3.3.0.0 and touched only when major or minor version changes 126 * AssemblyFileVersion --> should be set to e.g. 3.3.10.$WCREV$ 126 127 * Plugin.cs.frame 127 128 * Used to replace your plugin version number with the build number on SVN commit, e.g. 3.3.10.$WCREV$ … … 129 130 130 131 === Configuring the plugin file === 131 * Plugin attribute [Plugin("HeuristicLab.Problems.Mine", "3.3.0.$WCREV$")]132 * PluginDependencies --> Please make sure that you list all referenced plugins. There is a unit test that checks if you have included all or if you have specified too many 133 * Version numbers: Major and minor must be set for all plugins, e.g. 3.3 or 3.4132 * Plugin attribute, e.g. [Plugin("HeuristicLab.Problems.Mine", "Description of my problem", "3.3.10.$WCREV$")] 133 * PluginDependencies --> Please make sure that you list all referenced plugins. There is a unit test that checks if you have included all or if you have specified too many (your plugin must be referenced by the unit test project) 134 * Version numbers: Major and minor must be used for HeuristicLab plugins, e.g. 3.3 or 3.4, additional version information may be required for some external libraries, e.g. [PluginDependency("HeuristicLab.ALGLIB", "3.7.0")] 134 135 135 136 === Trunk integration ===