Technical Bulletin: ConfigSource property is not supported by the platform

Initial publication: December 12, 2011
Last reviewed on: December 12, 2011
Last updated on: December 12, 2011

Apprenda, at deployment time, changes the configuration file included with your application's websites and WCF services. The platform can only correctly process configuration sections included in the primary file (Web.config or App.config) and not those configuration sections referenced via the ConfigSource property. 

Symptoms

The following snippet illustrates a configuration file that derives part of its configuration from an external file:

<configuration>
 ... 
<system.servicemodel configsource=".\services-config.xml" />
 ...
</configuration>

The exact symptoms experienced may range from no effect to failure of the application in the Sandbox (Test) or Published (Production) stage. This depends on which portion of the configuration file is referenced externally, and which version of the platform is in use.

If the externally referenced configuration file contains information that is not related to services and does not rely on the platform's dynamic configuration feature, there is likely to be no effect on the client application. Externally referenced service configuration will be ignored by the platform, possibly resulting in incomplete metadata information. This could result in the failed routing of service calls for the application. Similarly, the platform could preserve the referenced service configuration file and add its own configuration to the element, which results in an invalid configuration file.

Resolution

Apprenda has confirmed that this is an issue for customers running the affected versions below. The issue is still outstanding. To avoid the possibility of an inappropriately configured website or service, Apprenda platform versions 3.0 and later do not permit applications whose components reference external configuration files to promote with the following error:

Discovered a config file containing the element 'element' which has a 'configSource' attribute. Using auxiliary configuration files is not currently supported by the platform; consider embedding all configuration fragments in the main config file and try again.

Is there a Manual Workaround?

Yes. Define configuration traditionally inside the main configuration file and do not use the configSource attribute.

Applicable Components

  • Developer Portal

Affected Versions

  • All Platform Versions

2457