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.
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=18.104.22.168, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified."
Since the "Microsoft.VisualStudio.Shell.10.0, Version=22.214.171.124" 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="126.96.36.199" newVersion="188.8.131.52"/>
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!
I have a webservice project which has an app.config which when published changes to web.config, The resulting web.config is unchanged. I have tried using a web.config and transforming that but that doesn't work
I've tried adding this to existing projects, followed instructions, and transforms don't work. I can add a new config transforms and see previews, but when I build/rebuild solution, no transformations are applied to App.config.
I've even downloaded the sample app from the description and that too does not work. I have the same problem with SlowCheetah. Any idea what the problem could be?
Hi i have used the config transformation for test project in VS2013 and on building, the conifg file is getting transformed to the corresponding build environment(ex:Test).
But when i do publish the same the WCF project using VS2013, the published web.config is not getting transformed. Please advise.
This is a gem no doubt! I have one tiny little nuance I'd like to discuss. If I create a new profile, and lets say i call it "New Debug". I noticed that after applying a transformation that it modifies my Output Path in Build Properties to "bin\New Debug". I have numerous scripts tied to post build events, and I really don't want to change the output path ever, regardless of the profile I choose to build. I know it's easy to go and change it back that one time and it sticks forever, but is there a way to suppress the modification to the application output property on the initial?