Configuration Section Designer is a Visual Studio add-in that allows you to graphically design .NET Configuration Sections and automatically generates all the required code and a schema definition (XSD) for them.
Important note: this release has a bug in it that may cause the code generation to fail. Please use the 1.2.1 release instead.
This 1.2 release has a number of fixes and improvements:
- NEW: Rudimentary support for Configuration Section Groups
- NEW: Support for getting collection elements by key
- NEW: Custom Types get their own #region in the generated .cs file
- NEW: Metadata properties added to configuration elements. These are added as attributes to the relevant properties in the generated .cs file during code generation
- NEW: CsdFileGenerator custom tool replaces behavior of earlier .tt files. This provides better file generation behavior, especially with multiple CSDs or other .tt files in a single solution, especially concerning the behavior of certain source control tools
- NEW: GeneratedCodeAttribute added to generated code in the appropriate places to signal to code analysis tools that this code is not the responsibility of the user
- NEW: Ability to add assembly name to the configuration section model that may be used to strongly type configuration sections in the generated configuration sample file.
- FIX: Remove on ConfigurationCollectionElements now actually remove the requested element from its collection.
: Due to a rather low-level change to the designer, any previously created CSD files will have their elements jumbled after installing this update. Manually moving them back into place and saving the file will fix the problem.NOTE
: The previously required files <CSDFileName>Code.tt, <CSDFileName>Sample.tt and <CSDFileName>Schema.tt are no longer required, and may in fact interfere with the new custom tool. These can safely be deleted.NOTE
: The custom attribute support is considered experimental and is prone to change in future versions of the tool. If you choose to use it, beware that it may not work in the next version.