Using NuGet Package Explorer create a new package.
Create a content folder.
Add New Files to content folder:
Name: app.config.transform
Body:
<configuration>
<appSettings>
<add key="foo" value="bar" />
</appSettings>
</configuration>
Name: web.config.transform
Body:
<configuration>
<appSettings>
<add key="foo" value="bar" />
</appSettings>
</configuration>
Name: web.release.config.transform
Body:
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<appSettings>
<add key="foo" value="bar.release" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
</appSettings>
</configuration>
Create a new Windows > Console Application in VS2012.
Delete the app.config file via Solution Explorer.
Install the package.
app.config and web.release.config are created.
Create a new Web > ASP.NET Empty Web Application in VS2012.
Delete the web.config from the parent via Solution Explorer (so it also removes the web.{BuildEnvironment}.configs)
Install the package.
web.config and web.release.config are created.
The functionality I would expect would be "if the transform is able to locate it's corresponding config file, it performs the transform. Otherwise it does not". This seems to be exhibited partly as a web.config is not created in the first test and an app.config is not created in the second test.
If creating a web.config and app.config, in their appropriate VS2012 project types, is expected functionality... I would not expect a web.{BuildEnvironment}.config file to be created if not found
Create a content folder.
Add New Files to content folder:
Name: app.config.transform
Body:
<configuration>
<appSettings>
<add key="foo" value="bar" />
</appSettings>
</configuration>
Name: web.config.transform
Body:
<configuration>
<appSettings>
<add key="foo" value="bar" />
</appSettings>
</configuration>
Name: web.release.config.transform
Body:
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<appSettings>
<add key="foo" value="bar.release" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
</appSettings>
</configuration>
Create a new Windows > Console Application in VS2012.
Delete the app.config file via Solution Explorer.
Install the package.
app.config and web.release.config are created.
Create a new Web > ASP.NET Empty Web Application in VS2012.
Delete the web.config from the parent via Solution Explorer (so it also removes the web.{BuildEnvironment}.configs)
Install the package.
web.config and web.release.config are created.
The functionality I would expect would be "if the transform is able to locate it's corresponding config file, it performs the transform. Otherwise it does not". This seems to be exhibited partly as a web.config is not created in the first test and an app.config is not created in the second test.
If creating a web.config and app.config, in their appropriate VS2012 project types, is expected functionality... I would not expect a web.{BuildEnvironment}.config file to be created if not found