Link to home
Start Free TrialLog in
Avatar of To Ka
To Ka

asked on

Transforming web.config before publishing to server with WebDeploy (TransformXml)

I have a WebAPI / EntityFramework project that I am working on and I publish updates to the server quite often (using WebDeploy).

My setup uses custom defaultConnectionFactory in order to create connection string based on certain criteria.

Every time I push an update to sever, an new connection string is added to my web.config file:
name: MyProject.Lib.Data.DataContext
value: MyProject.Lib.Data.DataContext_ConnectionString

I found a solution (http://stackoverflow.com/a/3622821/573208) that looks like exactly what I am looking for but I could not make it work.

I added this line at the end of my project file
<UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v14.0\Web\Microsoft.Web.Publishing.Tasks.dll" />

Open in new window

right before </Project> closing tag. But could not go any more further.

The article states that I need to
place <TransformXml Source="web.config" Transform="web.release.config" Destination="$(DeployPath)\web.config" /> in the right item group
and then
make sure that target gets fired prior to the call to Package

That's where I got confused:
- Where should I place the <TransformXml ... /> section and how to I find out which is the "the right ItemGroup"
- How do I "make sure that target gets fired prior to the call to Package"

Any help would be much appreciated
ASKER CERTIFIED SOLUTION
Avatar of Eddie Shipman
Eddie Shipman
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial