2005-12-02 Chris Toshok <toshok@ximian.com>
[mono.git] / mcs / class / System.Configuration / System.Configuration / ChangeLog
1 2005-12-02  Chris Toshok  <toshok@ximian.com>
2
3         * ConnectionStringSettings.cs: tabify, fix default values, and add
4         a string validator for "name".
5
6 2005-12-02  Chris Toshok  <toshok@ximian.com>
7
8         * CommaDelimitedStringCollectionConverter.cs (ConvertTo): change
9         the type check away from an exact check for
10         CommaDelimitedStringCollection to an assignable test from
11         StringCollection.  This is due to the fact that AuthorizationRule
12         doesn't create CommaDelimitedStringCollections, for some odd
13         reason.  It uses StringCollections.
14
15         * PropertyInformation.cs (Value): remove the case for
16         IsDefaultCollection - it's not necessary, as the property is an
17         Element.
18
19         * ConnectionStringSettings.cs: fix formatting and remove some
20         #regions.
21
22         * ConnectionStringSettingsCollection.cs: same.
23
24         * ConnectionStringsSection.cs: same.
25
26         * ConfigurationElement.cs (SerializeToXmlElement): don't write the
27         enclosing start/end elements if the elementName is null or "".
28         this fixes the case for the DefaultCollections (at least in the
29         case of connectionStrings).
30
31         * IgnoreSection.cs (Properties): remove the MonoTODO.
32
33         * SectionInfo.cs (WriteData): remove the "<!-- dd -->" output.
34
35 2005-11-28  Chris Toshok  <toshok@ximian.com>
36
37         * ProviderSettings.cs: use ConfigurationProperty's to implement
38         the properties.
39
40 2005-11-24  Chris Toshok  <toshok@ximian.com>
41
42         * ConfigurationProperty.cs (Validate): add internal method.
43
44 2005-11-24  Chris Toshok  <toshok@ximian.com>
45
46         * ConfigurationElement.cs (ElementProperty): make this protected
47         internal virtual instead of public.
48         (SetPropertyValue): add a validator call and a blurb about the
49         code based on information gleaned from tests.
50         (set_Item (string)): call SetPropertyValue in the setter.
51         
52 2005-11-14  Chris Toshok  <toshok@ximian.com>
53
54         * CommaDelimitedStringCollection.cs: reformat things a bit, and
55         flag ToString() as override.
56
57         * DefaultSection.cs: new stubbed out implementation.
58
59         * CommaDelimitedStringCollectionConverter.cs: new implementation.
60
61 2005-11-10  Chris Toshok  <toshok@ximian.com>
62
63         * AppSettingsSection.cs (DeserializeElement): stop explicitly
64         calling Settings.DeserializeElement, as the DefaultCollection
65         works now.
66
67         * ConfigurationElement.cs (DeserializeElement): rework the loop
68         here so that we actually loop over all the content elements.
69
70 2005-11-09  Chris Toshok  <toshok@ximian.com>
71
72         * ConfigurationElement.cs: Add support for DefaultCollection
73         attributes.
74
75         * PropertyInformation.cs (PropertyInformation.Value): add case for
76         IsDefaultCollection.
77
78         * SectionGroupInfo.cs (SectionGroupInfo.ReadConfig): when we read
79         a "type" attribute, make sure the cached System.Type is cleared.
80
81 2005-10-25  Chris Toshok  <toshok@ximian.com>
82
83         * InfiniteTimeSpanConverter.cs: new implementation.
84
85         * InfiniteIntConverter.cs: new implementation.
86
87         * GenericEnumConverter.cs: new implementation.
88
89         * Configuration.cs: we don't need to check with "is" after we use
90         "as"..  just check for null-ness.
91
92         * KeyValueConfigurationCollection.cs: GetElementKey should throw
93         NRE if element == null.
94
95         * CommaDelimitedStringCollection.cs: raise the correct exceptions
96         in the read only case, and return null from ToString if there are
97         0 elements.
98
99 2005-10-25  Chris Toshok  <toshok@ximian.com>
100
101         * PositiveTimeSpanValidatorAttribute.cs: new implementation.
102
103         * PositiveTimeSpanValidator.cs: new implementation.
104
105 2005-10-24  Chris Toshok  <toshok@ximian.com>
106
107         * TimeSpanSecondsOrInfiniteConverter.cs: new implementation.
108
109         * TypeNameConverter.cs: new implementation.
110
111         * WhiteSpaceTrimStringConverter.cs: new implementation.
112
113 2005-10-24  Chris Toshok  <toshok@ximian.com>
114
115         * AppSettingsSection.cs (DeserializeElement, SerializeSection):
116         split the behavior based on if File == "".  If it is, we do the
117         default.  otherwise we throw NIE.
118
119         * ConnectionStringsSection.cs (DeserializeElement): we shouldn't
120         need this, but we do until the IsDefaultCollection stuff is fixed.
121
122         * ConfigurationElementCollection.cs
123         (OnDeserializeUnrecognizedElement): for clearElementName, make
124         sure we have no attributes.
125
126         * ConnectionStringSettingsCollection.cs (get_Properties): for now
127         just chain up to base.Properties.
128
129         * ConfigurationElement.cs (ReflectProperties): do the default
130         value/property type check in a more robust way, using
131         Convert.ChangeType.
132
133 2005-10-24  Chris Toshok  <toshok@ximian.com>
134
135         * ConfigurationElement.cs: treat
136         ConfigurationProperty.NoDefaultValue the same as null when we're
137         checking the default value's type.  this fixes t13 and 14.
138
139         * ConnectionStringsSection.cs (ConnectionStrings): fix the
140         DefaultValue in the ConfigurationPropertyAttribute.
141
142 2005-10-24  Chris Toshok  <toshok@ximian.com>
143
144         * KeyValueConfigurationCollection.cs (GetElementKey): sacrifice
145         one test to get another working.  Return a valid key even if the
146         element is not in this collection.
147         (get_ThrowOnDuplicate): return false.
148
149         * ConfigurationElementCollection.cs (BaseAdd): if we're adding an
150         element with the same key, overwrite the old one (remove the old
151         one after inserting the new one).  Also, re-enable the throwing of
152         exceptions if ThrowOnDuplicate == true.
153
154 2005-10-24  Chris Toshok  <toshok@ximian.com>
155
156         * AppSettingsSection.cs (Settings): fix ConfigurationProperty
157         attribute.
158
159         * ProtectedConfigurationSection.cs (Providers): same.
160
161 2005-10-12  Chris Toshok  <toshok@ximian.com>
162
163         * ConfigurationPermission.cs: flesh out as per tests.
164
165 2005-10-11  Chris Toshok  <toshok@ximian.com>
166
167         * ConfigurationProperty.cs: don't use null to mean no default
168         value, use NoDefaultValue.
169
170 2005-10-11  Chris Toshok  <toshok@ximian.com>
171
172         * KeyValueConfigurationCollection.cs (GetElementKey): duh.
173         BaseGet calls GetElementKey, so we were hitting an infinite
174         recursion here.  Use BaseIndexOf instead.
175
176 2005-10-07  Chris Toshok  <toshok@ximian.com>
177
178         * InternalConfigurationHost.cs: some interface work, adding in the
179         new methods.
180
181         * ConfigurationProperty.cs: remove debug spew.
182
183         * Configuration.cs: add NIE'd NamespaceDeclared property.
184
185         * ElementInformation.cs: add NIE'd Errors property.
186
187         * PropertyInformationCollection.cs: add NIE'd GetObjectData().
188
189         * ConfigurationManager.cs: quite a bit of new work here.  Some
190         definie TODO's still though.
191
192 2005-10-07  Chris Toshok  <toshok@ximian.com>
193
194         * ConfigurationErrorsException.cs (.ctor): for the (string)
195         overload, chain up to the base (string) ctor.
196
197 2005-10-07  Chris Toshok  <toshok@ximian.com>
198
199         * ConfigurationElement.cs (ElementMap.ReflectProperties): make
200         sure the type of the default value is compatible with that of the
201         property itself, and throw ConfigurationErrorsException if they
202         don't match.  Fixes t12.
203
204 2005-10-07  Chris Toshok  <toshok@ximian.com>
205
206         * ConfigHelper.cs: remove some unused code.
207
208         * ConfigurationProperty.cs: disambiguate the ctor we chain to.
209
210         * ConfigurationElement.cs (ElementProperty): implement.
211         (ElementMap.ReflectProperties): make DefaultValidator the default
212         validator, not null.
213
214 2005-10-06  Chris Toshok  <toshok@ximian.com>
215
216         * KeyValueConfigurationElement.cs: uncomment out some stuff.
217         (Properties): just return base.Properties.  Not sure why they
218         override this, as the base class's implementation passes our test.
219
220         * KeyValueConfigurationCollection.cs (Add): for the keyValue
221         overload, call keyValue.Init as the unit test stack traces
222         indicates that'9s where it's called.  For the string,string
223         overload, just call the keyValue overload instead of calling
224         BaseAdd.
225         (CreateNewElement): just use the name/value ctor, and specify ""
226         for each.
227         (GetElementKey): this function always returns "" for elements that
228         haven't been added to the collection.  Once theyre added, it seems
229         to always return keyValue.Key.
230         (Properties): the unit tests show this returns a 0 length
231         collection.
232
233 2005-10-05  Chris Toshok  <toshok@ximian.com>
234
235         * ConfigurationPermissionAttribute.cs: stub out.
236
237 2005-10-05  Chris Toshok  <toshok@ximian.com>
238
239         * TimeSpanMinutesOrInfiniteConverter.cs: fill in the
240         implementation.
241
242 2005-10-05  Chris Toshok  <toshok@ximian.com>
243
244         * TimeSpanSecondsConverter.cs: new implementation.
245
246 2005-10-05  Chris Toshok  <toshok@ximian.com>
247
248         * TimeSpanMinutesConverter.cs: flesh out implementation.
249
250         * ConfigurationConverterBase.cs: make all subclasses work with
251         strings only, since that's what seems to manifest itself in the
252         tests.
253
254 2005-10-05  Chris Toshok  <toshok@ximian.com>
255
256         * ConfigurationLockCollection.cs: add NIE'd AttributeList
257         property.
258
259         * ConfigurationConverterBase.cs: add MonoTODO'd CanConvertFrom and
260         CanConvertTo methods.
261
262         * ConfigurationSectionGroup.cs: add NIE'd IsDeclared property.
263
264         * ProtectedConfigurationSection.cs: add NIE'd properties.
265
266         * ConfigurationElementCollection.cs: add MonoTODO'd IsReadOnly
267         and SetReadOnly methods, and have then chain up to the base class.
268
269         * KeyValueConfigurationCollection.cs: add the class level
270         ConfigurationCollectionAttribute, and add a NIE'ed Properties
271         property.
272
273         * ProviderSettingsCollection.cs: add the class level
274         ConfigurationCollectionAttribute, and add a "new" keyword to the
275         this property.  Also, nuke the Provider's property.
276
277         * SectionInformation.cs: add some NEI'd properties.
278
279         * ConfigurationSection.cs (ResetModified): leave the MonoTODO, but
280         chain up to base class's method instead of throwing NIE.
281
282         * ConnectionStringSettingsCollection.cs: add the class-level
283         ConfigurationCollectionAttribute, and add the unimplemented
284         Properties property.
285
286         * ConfigurationErrorsException.cs: flesh this out, and add a
287         pragma to disable the obsolete warnings from our base class.
288
289         * ProviderSettings.cs: add unimplemented Properties property.
290
291         * ConfigurationElement.cs: remove unnecessary
292         EvaluationInformation.
293
294         * InternalConfigurationRoot.cs: add unimplemented IsDesignTime
295         property.
296
297         * ConfigurationProperty.cs: add a missing ctor.
298
299         * AppSettingsSection.cs: add missing "override" keyword.
300
301         * ConnectionStringsSection.cs: remove override.
302         
303         * ConfigurationSectionCollection.cs: AllKeys -> Keys, and add
304         unimplemented GetObjectData override.
305
306         * ConfigurationSectionGroupCollection.cs: same.
307
308         * ConfigurationCollectionAttribute.cs: add missing CollectionType
309         property.
310
311 2005-10-05  Chris Toshok  <toshok@ximian.com>
312
313         * ConfigurationPermission.cs: new implementation.
314
315         * IgnoreSection.cs: new implementation.
316
317 2005-10-05  Chris Toshok  <toshok@ximian.com>
318
319         * CommaDelimitedStringCollection.cs: new implementation.
320
321 2005-10-05  Chris Toshok  <toshok@ximian.com>
322
323         * NameValueConfigurationCollection.cs: new implementation.
324
325         * NameValueConfigurationElement.cs: new implementation.
326
327 2005-10-05  Chris Toshok  <toshok@ximian.com>
328
329         * ValidatorCallback.cs: new implementation.
330
331         * SubclassTypeValidator.cs, SubclassTypeValidatorAttribute.cs: new
332         implementation.
333
334         * CallbackValidator.cs, CallbackValidatorAttribute.cs: new
335         implementation.
336
337         * RegexStringValidator.cs, RegexStringValidatorAttribute.cs: new
338         implementation.
339
340         * LongValidator.cs, LongValidatorAttribute.cs: new implementation.
341
342         * IntegerValidator.cs, IntegerValidatorAttribute.cs: new
343         implementation.
344
345         * DefaultValidator.cs: new implementation.
346
347 2005-09-28  Chris Toshok  <toshok@ximian.com>
348
349         * ConfigurationElementCollection.cs: more work on the "<clear />"
350         handling - just skip the element for now.  this causes a failure
351         in one test ('<clear hi="bye" />' doesn't throw an exception when
352         it should), but it succeeds for collections that have required
353         attributes.
354
355         * ConnectionStringSettings.cs: providerName isn't a required
356         attribute.
357
358         * AppSettingsSection.cs (.cctor): initialize our "file" Property.
359         (File): implement.
360         (Properties): fix.
361         (GetRuntimeObject): call the base class method instead of just
362         returning "this".
363
364         * ConnectionStringsSection.cs: Add a hacky DeserializeElement
365         method here (that isn't in MS's) for the time being so we actually
366         deserialize our collection.
367
368 2005-09-28  Chris Toshok  <toshok@ximian.com>
369
370         * KeyValueInternalCollection.cs: found this by way of a stack
371         trace in one of the tests.  A NameValueCollection that wraps a
372         KeyValueConfigurationCollection.
373
374         * Configuration.cs (Init): save off configPath.
375         (EvaluationContext): new, mostly implemented.
376         (GetSectionInstance): use IgnoreSection instead of
377         RuntimeOnlySection.
378         (Load): don't fail when we can't load a file.
379
380         * IgnoreSection.cs: replace RuntimeOnlySection with this new
381         public type.
382
383         * RuntimeOnlySection.cs: nuke.
384         
385 2005-09-27  Chris Toshok  <toshok@ximian.com>
386
387         * TimeSpanMinutesOrInfiniteConverter.cs: this is sealed.
388
389 2005-09-27  Chris Toshok  <toshok@ximian.com>
390
391         * ConfigurationProperty.cs: add IsDefaultCollection property.
392
393 2005-09-27  Chris Toshok  <toshok@ximian.com>
394
395         * ConfigurationElementProperty.cs: new file.
396
397         * ConfigurationLockCollection.cs: new file.
398
399         * ConfigurationElementCollection.cs
400         (OnDeserializeUnrecognizedElement): make sure we consume the
401         <clear /> element so we don't into an endless loop.
402
403         * ConfigurationElement.cs: add a bunch of NIE's properties.
404
405         * ContextInformation.cs: Add NIE'ed IsMachineLevel property.
406
407 2005-09-23  Chris Toshok  <toshok@ximian.com>
408
409         * AppSettingsSection.cs: fix build and add a couple of TODO'ed
410         properties.
411
412 2005-09-23  Chris Toshok  <toshok@ximian.com>
413
414         * ProviderSettings.cs (Unmerge): track change to
415         ConfigurationElement.Unmerge.
416
417         * ConfigurationSection.cs: add functions nuked from
418         ConfigurationElement here.
419
420         * ConfigurationElementCollection.cs: add DebuggerDisplay attribute
421         to the class.
422         (BaseGetAllKeys): returns object[], not string[].
423         (BaseGetKey): returns object, not string.
424         (Unmerge): track change to ConfigurationElement.Unmerge signature.
425
426         * ConfigurationElement.cs (ConfigurationElement.Unmerge): fix
427         signature (drop the serializeCollectionKey parameter).
428         
429
430 2005-09-23  Chris Toshok  <toshok@ximian.com>
431
432         * StringValidator.cs: throw ArgumentException instead of
433         ConfigurationErrorsException.
434
435 2005-09-23  Chris Toshok  <toshok@ximian.com>
436
437         * ConnectionStringsSection.cs: track change to
438         ConfigurationPropertyOptions.
439
440         * ConfigurationPropertyAttribute.cs, ConfigurationProperty.cs,
441         ProviderSettings.cs: track change to ConfigurationPropertyOptions.
442
443         * ConnectionStringSettings.cs: track change to
444         ConfigurationProprertyOptions, and add some ConfigurationProperty
445         attributes.
446         
447         * ConfigurationPropertyOptions.cs: DefaultCollection ->
448         IsDefaultCollection, Required -> IsRequired.
449
450 2005-09-22  Chris Toshok  <toshok@ximian.com>
451
452         * PositiveTimeSpanValidator.cs: this lives in
453         System.Web.Configuration, not System.Configuration.
454
455 2005-09-22  Chris Toshok  <toshok@ximian.com>
456
457         * TimeSpanValidator.cs: change to ArgumentException and alter the
458         messages slightly.
459
460 2005-09-22  Chris Toshok  <toshok@ximian.com>
461
462         * ExeConfigurationFileMap.cs (ctor): init all the strings to "".
463
464 2005-07-01  Lluis Sanchez Gual  <lluis@novell.com>
465
466         * ProviderSettings.cs: Implemented properties using property attributes.
467         * ConfigurationElement.cs: Implemented ElementInformation property and
468         moved there all value management.
469         * ProtectedConfigurationProvider.cs: Set the correct base class.
470         * SectionInformation.cs: Added missing AllowExeDefinition property.
471         * TimeSpanValidatorAttribute.cs: Implemented.
472         * StringValidator.cs: Implemented.
473         * ProviderSettingsCollection.cs: Added missing class attribute.
474         * ConfigurationSaveMode.cs: Fix enum values.
475         * ConfigurationElementCollection.cs: Added Init method for initializing
476         elements from properties.
477         * StringValidatorAttribute.cs: Implemented.
478         * ConfigurationLocation.cs: Added support for allowOverride flag.
479         * TimeSpanMinutesOrInfiniteConverter.cs: Created skeleton class.
480         * PositiveTimeSpanValidator.cs: Implemented.
481         * TimeSpanMinutesConverter.cs: Created skeleton class.
482         * SectionInfo.cs: Properly read, store and check the values of AllowLocation,
483         AllowDefinition and AllowExeDefinition.
484         * TimeSpanValidator.cs: Implemented.
485         * ConfigurationConverterBase.cs: Created skeleton class.
486         * InternalConfigurationHost.cs: Implemented IsDefinitionAllowed and
487         VerifyDefinitionAllowed.
488         * ConfigurationManager.cs: That class must be static.
489         * PropertyInformationCollection.cs: Implemented.
490         * Configuration.cs: Added some checks for AllowLocation, AllowDefinition and
491         so on. In Save(), don't forget to save location elements.
492         * ConfigurationProperty.cs: Keep track of collection attributes.
493         * ConfigInfo.cs: Support overrideAllowed flag.
494         * KeyValueConfigurationElement.cs: Define properties using attributes.
495         * PropertyValueOrigin.cs: implemented.
496         * PropertyInformation.cs: Mostly implemented.
497         * SectionGroupInfo.cs: Properly propagate the overrideAllowed flag.
498         * ElementInformation.cs: Mostly implemented.
499         * ConfigurationPropertyAttribute.cs: Set the correct default value.
500         * ConfigurationCollectionAttribute.cs: Implemented.
501
502 2005-06-23  Lluis Sanchez Gual <lluis@novell.com>
503
504         * SectionInfo.cs: Set the config host when loading the section.
505         * InternalConfigurationHost.cs: Implemented some basic methods.
506         * Configuration.cs: Find the correct parent for the configuration,
507         taking into accound locations and such. Use Host functions to get
508         types from names.
509         * ConfigurationLocationCollection.cs: Added find method.
510         * ConfigInfo.cs: Added Host property.
511         * InternalConfigurationFactory.cs: The InitForConfiguration calls
512         are now done in each correspoding configuration.
513         * SectionGroupInfo.cs: When reading a location element, create
514         a Configuration object for each path specified in the location.
515         * ConfigurationElementCollection.cs: Added the CreateNewElementInternal
516         method, which properly initializes the created element.
517         * ConfigurationLocation.cs: OpenConfiguration now has to read the
518         xml contents. It also has to find the correct parent configuration,
519         if it has not been specified.
520
521 2005-06-17  Lluis Sanchez Gual <lluis@novell.com>
522
523         * SectionInfo.cs, ConfigInfo.cs, SectionGroupInfo.cs: Minor api fixes.
524         * ConfigurationPropertyCollection.cs: Added Clear method.
525         * ContextInformation.cs: Implemented.
526         * ConfigurationManager.cs: Implemented some missing methods.
527         Configuration objects are now created through the ConfigurationFactory.
528         * InternalConfigurationHost.cs: Implementation of IInternalConfigHost
529         to be used for exe files and machine.config.
530         * ConfigurationFileMap.cs: Implemented.
531         * Configuration.cs: Read and write config files using the methods that
532           IInternalConfigHost provides.
533         * InternalConfigurationRoot.cs: IInternalConfigRoot stub.
534         * ExeContext.cs: Implemented.
535         * AppSettingsSection.cs: Use the KeyValueConfigurationCollection
536         collection to store values.
537         * KeyValueConfigurationElement.cs: Implemented.
538         * KeyValueConfigurationCollection.cs: Implemented.
539         * InternalConfigurationFactory.cs: An implementation of 
540         IInternalConfigConfigurationFactory.
541         * ConfigurationPropertyAttribute.cs: Added missing attributes.
542         * ExeConfigurationFileMap.cs: Implemented.
543
544 2005-06-15  Lluis Sanchez Gual <lluis@novell.com>
545
546         * ConfigurationElement.cs, ConfigurationErrorsException.cs
547         SectionInfo.cs, ConnectionStringSettingsCollection.cs,
548         ConfigurationPropertyCollection.cs, ProtectedConfigurationProvider.cs,
549         ConfigurationSection.cs, NonEmptyStringConfigurationProperty.cs,
550         ConfigurationElementCollectionType.cs, Configuration.cs, 
551         ConnectionStringSettings.cs, ConfigurationProperty.cs,
552         ConfigurationLocationCollection.cs, TimeSpanConfigurationProperty.cs,
553         ConfigurationAllowDefinition.cs, ConfigInfo.cs,
554         ConfigurationSectionGroupCollection.cs, AppSettingsSection.cs,
555         ProviderSettingsCollection.cs, IntegerConfigurationProperty.cs,
556         SectionGroupInfo.cs, ConfigurationUserLevel.cs,
557         ConnectionStringsSection.cs, ConfigurationPropertyAttribute.cs,
558         ConfigurationLocation.cs, ConfigurationSectionCollection.cs,
559         ConfigurationSectionGroup.cs, RuntimeOnlySection.cs,
560         ProviderSettings.cs: 
561                 Track API changes.
562         
563         * ConfigurationElementCollection.cs: Implemented support for Basic
564         collection type. Other fixes.
565         
566         * ConfigurationPropertyFlags.cs: Renamed to ConfigurationPropertyOptions.
567         * ConfigurationUpdateMode.cs: Renamed to ConfigurationSaveMode.
568         
569         * SectionInformation.cs, ConfigurationAllowExeDefinition.cs
570         ConfigurationManager.cs, ConfigurationSaveMode.cs,
571         ConfigurationValidatorAttribute.cs, ProtectedConfigurationSection.cs,
572         ConfigurationValidatorBase.cs, ConfigurationPropertyOptions.cs:
573                 New files.
574         
575         * ConfigurationValidationAttribute.cs: Removed.
576         
577         * ProviderBase.cs: Moved to System.dll.
578
579 2005-06-14  Lluis Sanchez Gual <lluis@novell.com>
580
581         * AppSettingsSection.cs, ConfigInfo.cs, Configuration.cs
582         ConfigurationAllowDefinition.cs, ConfigurationElement.cs
583         ConfigurationElementCollection.cs, ConfigurationElementCollectionType.cs
584         ConfigurationLocation.cs, ConfigurationLocationCollection.cs
585         ConfigurationProperty.cs, ConfigurationPropertyAttribute.cs
586         ConfigurationPropertyCollection.cs, ConfigurationPropertyFlags.cs
587         ConfigurationSection.cs, ConfigurationSectionCollection.cs
588         ConfigurationSectionGroup.cs, ConfigurationSectionGroupCollection.cs
589         ConfigurationUpdateMode.cs, ConfigurationUserLevel.cs
590         ConfigurationValidationAttribute.cs, ConnectionStringsSection.cs
591         ConnectionStringSettingsCollection.cs, ConnectionStringSettings.cs
592         IntegerConfigurationProperty.cs, NonEmptyStringConfigurationProperty.cs
593         NonEmptyStringFlags.cs, PathLevel.cs, ProtectedConfigurationProvider.cs
594         ProviderBase.cs, ProviderSettings.cs, ProviderSettingsCollection.cs
595         RuntimeOnlySection.cs, SectionInfo.cs, SectionGroupInfo.cs
596         TimeSpanConfigurationProperty.cs, TimeSpanPropertyFlags.cs
597         TimeSpanSerializedFormat.cs:
598
599         Moved from the System assembly.