The plugin works great in Visual Studio 2013. The big win with this plugin is that the underlying transformation engine is a part of Visual Studio so once the configuration is in place the plugin is not needed for the solution to build.
This works nicely in previous for me, but now i have a new requirement. I need to update the string value on the basis of Build agent. For example i have transformed the path using config transformation. <sessionFactory name="quotek" factoryConfigPath="c:\Builds\1\App.nhibernate.config" xdt:Transform="Replace" xdt:Locator="Match(name)" /> Here 1 is the build agent, previously i only have the 1 build agent so i have added the above path for transformation.Now i have 4-5 build agent, and my App.nhibernate.config file exists under the build agent folder.
How can we dynamically update this path on the basis of Build agent.
This is a good solution that addresses a problem that extends a configuration process implemented by Microsoft for Web Applications. However, there are some problems. 1. The formatting changes during transformation preview, preventing you from getting an accurate overview of the changes performed. 2. The 'Add Config Transforms' right-click menu command appears in Web Applications even though the built-in 'Add Config Transform' command is available. This solution should not apply to Web Applications when there is a default solution in Visual Studio.
This has been an awesome timesaver. I commend you on your efforts. Thank you for this extension.
I created a base app.config file and then my environment-based files with only the values that needed changes. The result is perfect, when compiling, the correct file is generated so we can test without commenting and commenting values in each environment.
I think this should be in the next release of Visual Studio.
I added a web reference to the project and the Hierarchy of config files went flat and the transforms stopped working. Now the when you click on add config transforms you get a message no changes were made. Also it is now transforming for the wrong configuration, it is stuck on production. Also I can no longer view any transformations Using VS 2010 Is there a fix or workaround for this?
it has noting to do with the extension It's very simple To create a link to an existing item: In Solution Explorer, select the target project. On the Project menu, select Add Existing Item. In the Add Existing Item dialog box, locate and select the project item you want to link. From the Open button drop-down list, select Add As Link.
Maybe I don't understand well how it works, but I followed all the steps of how using this tool and I'm still not able to make my MVC5 WebApplication having good values from my external C# class library.
My class library application has app.config (with debug and release childs) and when I build this application, I can see that the *.dll.config has the modified transformations but not my dll (that is copied to my webapplication).
I want to transform values inside <applicationSettings> for strongly-typed variables, compile this as a DLL that my webapplication can import and use it.
I only see that DLL is created, but only with the values inside app.config (and not debug or release). Just to mention that I set my solution configurationmananger as Debug for testing the app.debug.config, but did not work on C# class library DLL (MY_APPLICATION.dll) (but work on MY_APPLICATION.dll.config)
I have installed this extension on VS2013 Update 4 and our project has separated out AppSettings from Web.config file into its own file called AppSettings.config. It is fine to add Config Transform files. However, I cannot get a preview screen on the AppSettings transform files at all. Web.config preview is working as it should though. Is this the intended behaviour? Otherwise, how to get previews on any config files apart from web.config file?
I've been having the same issue today and I have it narrow down to the location of the config file. If the appSettings.config is in a subfolder the preview doesn't work, however if I move the file to the root of the project then preview works. I've checked your demo solution and all subfolder examples have a wrapping project for the config files. SlowCheetah supports transformations on any subfolders within a project.
Thanks for the quick response Golan. Please find the link to a sample MVC project created with two test config files as below.
Test config files:
Config/AppSettings.config - in a subfolder where preview doesn't work
Connection.config - in project's root folder and preview works (as what shawjh mentioned).
I just updated to 2.2 and now VS2012 throws an error on every start that the module can't be loaded properly.
"CreateInstance failed for package [GolanAvraham.ConfigurationTransform.ConfigurationTransformPackage, ConfigurationTransform, Version=1.0.5883.21410, Culture=neutral, PublicKeyToken=d5164e1f8f3e4ea2]
Could not load file or assembly 'Microsoft.VisualStudio.Shell.10.0, Version=184.108.40.206, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified."
Since the "Microsoft.VisualStudio.Shell.10.0, Version=220.127.116.11" is introduced as part of VS2013, so it shouldn't depend on this when running VS2012. Any suggestions or links to download v2.1 of the extension?
Just had an idea for a temporary fix. I added a binding redirect for v12 to v11 in the devenv.exe.config
<assemblyIdentity name="Microsoft.VisualStudio.Shell.10.0" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="18.104.22.168" newVersion="22.214.171.124"/>
Can not install on Visual Studio 2013 for Web Express Update5
Searching for applicable products...
10/5/2015 11:01:16 PM - Found installed product - Microsoft Visual Studio 2010 Shell - Integrated Mode
- Found installed product - Microsoft Visual Studio Express 2013 for Web
- Found installed product - Global Location
- Found installed product - ssms
- VSIXInstaller.NoApplicableSKUsException: This extension is not installable on any currently installed products.
Is there any way to install on there ?
If you want to use this with Visual Studio 2015 but don't trust random links posted on the internet (@IdleMonkeys: no offense and thank you for your link), here's how you can install it:
1. Download the vsix.
2. Open the vsix as a zip (e.g. rename the extension to zip and open it, or right-click and open it with your zip application)
3. Open the extension.vsixmanifest in a text editor and add the following XML under the SupportedProducts-element:
4. Save the manifest.
5. Run the vsix to install the extension.
Bloodbuzz Entertainment - this allows the extension to install (although I changed Ultimate to Enterprise because 2015 rebranded it), but does not add the Preview Transform shortcut in Solution Explorer, unless you have additional steps that made this work for you...
Thanks for the info Bloodbuzz Entertainment, that worked for me. MattCom, I'm running Enterprise Update 1 and I was able to get the right-click piece working for me. The only other change I made to the manifest file was this:
<SupportedFrameworkRuntimeEdition MinVersion="4.0" MaxVersion="4.5.2" />
Hope that helps.
Okay found a workaround.
After installing it as per BloodBuzz -> MattCom -> Unique-Display-Name, I closed visual studio 2015 and installed this "cleaner" of sorts:
Then start visual studio with no soltuions in Admin mode, "Clear" the MEF cache as per instructions in link, then it will restart VS and it got the context-menu showing for now. :-)
Thanks for all the help by others here.
Has anyone been able to get this working with TFS Build? We're using TFS 2015 and it doesn't seem to be transforming the config files I created. When I go to the drop folder where build drops the files, the config files created with this tool are not transformed. The web.config, which has the transform files out of the box, is transformed successfully. Any advice on this would be much appreciated.
I think found what appears to be an issue with how transforms for *custom* configs (like nlog.config) are working. If you look in your .csproj file, towards the bottom you'll see a AfterCompile target that does the nlog.config transform. The problem is that it creates a file named $(TargetFileName).config. If your application is named WebApp1, the output of the nlog transform will actually be in WebApp1.config.
There is also an AfterPublish target that might have the same problem, but I have not tested that section yet.
Is there a way to alter the publish location for a ClickOnce app via transform? As an example, I'd like to have Debug published to \\Somewhere\App and Release get published to \\SomewhereElse\App
I have tested the extension with VS 2013 Update 4
All works preview/transform/linked transform
Make sure you read the instructions especially when using linked config
I'm testing out version 2.1 with VS 2013 Update 4 and I get the "different computed hash than specified in manifest" error when we try to install the app using ClickOnce.
This is the same error that bluebunny was receiving in his post below. We are currently using VS 2012 Update 4 and version 1.4 of your tool and that works fine. I'm hesitant to update to 2.1 in case it breaks as well in VS 2012.
Any ideas on how we can resolve this issue in VS 2013? We'd like to upgrade but I won't do it if we can't use your fantastic tool. It is possible to put version 1.4 out somewhere for download so I can try that in VS 2013? Thanks!
My previous testing seemed to suggest VS 2012 Update 4 would work with version 2.1 (for ClickOnce). (Take an system image backup before applying in case it does not!)
Sadly VS 2013 Update 4 does not work with version 2.1 (for ClickOnce).
This post from the VS Team has given my hope that the SlowCheetah will be updated and fully supported by VS 2015.
Golan, I downloaded you demo solution. It does indeed work with VS 2013 Update 4 as a click once deployment! Which got me wondering what is different about my projects. The obvious difference was mine are all Visual Basic not C#.
Please download my demo and attempt a click once deployment. You should experience the "different computed hash than specified in manifest" error.
Hopefully this leads to a fix. Would love for this to be working again with VS 2013 Update 4.
Forgot to mention I'm using VB.NET as well.
Disappointed to say that reverting back to version 1.4 didn't work for me; my ClickOnce install is still broken in the same way as with 2.1:
* Activation of C:\Users\***\PD-CLU.appref-ms| resulted in exception. Following failure messages were detected:
+ File, PD-CLU.exe.config, has a different computed hash than specified in manifest.
Come on, Golan - people love this thing, if you could just fix it!