{"id":156,"date":"2013-04-22T00:00:00","date_gmt":"2013-04-22T07:00:00","guid":{"rendered":"http:\/\/devblogs.microsoft.com\/nuget\/xdt-web-config-transforms"},"modified":"2013-04-22T00:00:00","modified_gmt":"2013-04-22T07:00:00","slug":"xdt-web-config-transforms","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/xdt-web-config-transforms\/","title":{"rendered":"XDT web.config transforms"},"content":{"rendered":"<p>Sitting there since October 12, 2010, with a total of 55 votes accumulated since then, there&#8217;s a NuGet feature that has had more than its fair share of attention: <a href=\"https:\/\/nuget.codeplex.com\/workitem\/232\">Support Visual Studio (XDT) Web.config Transforms<\/a>. It&#8217;s the 17th highest voted work item of all time for NuGet, and the 5th highest voted <em>open<\/em> work item. Today, we are announcing that we are finally unblocked on getting this feature integrated into NuGet!<\/p>\n<p>Last November, we made the decision to act on this feature request, and Luan Nguyen (<a href=\"https:\/\/www.codeplex.com\/site\/users\/view\/dotnetjunky\">dotnetjunky<\/a>) posted a <a href=\"https:\/\/nuget.codeplex.com\/discussions\/405195\">discussion thread<\/a> that NuGet would be taking a dependency on the XDT assembly. Within a few hours, Andreas H\u00e5kansson (<a href=\"https:\/\/www.codeplex.com\/site\/users\/view\/thecodejunkie\">thecodejunkie<\/a>) pointed out a really good glitch in our plan: we needed to make sure the feature would work on Mono!<\/p>\n<p>Fast forward 4 months, and we have resolution for the requirement of XDT support working on Mono&#8211;Microsoft has open-sourced the XML Document Transform (XDT) library at <a href=\"http:\/\/xdt.codeplex.com\">http:\/\/xdt.codeplex.com<\/a>, and NuGet will be taking a source dependency on XDT rather than a binary dependency.<\/p>\n<p>Here&#8217;s the net result of the work we&#8217;ve done with the team that develops the XDT library:<\/p>\n<ol>\n<li>A <a href=\"http:\/\/nuget.org\/packages\/Microsoft.Web.Xdt\/\">Microsoft.Web.Xdt<\/a> NuGet package is published to nuget.org.<\/li>\n<li>The NuGet team used that NuGet package to prototype integration of NuGet and XDT.<\/li>\n<li>The XDT library is open-sourced (not accepting contributions) at <a href=\"http:\/\/xdt.codeplex.com\">xdt.codeplex.com<\/a>.<\/li>\n<li>The NuGet team will now use the XDT source to provide the integration.<\/li>\n<li>This allows all NuGet users on all platforms to use the feature. NuGet can be built on Mono and have the XDT source built there too.<\/li>\n<\/ol>\n<p>NuGet package authors will be able to create two new files in their packages to perform XDT transforms:<\/p>\n<ol>\n<li>web.config.install.xdt (and yes, files other than web.config are supported)<\/li>\n<li>web.config.uninstall.xdt<\/li>\n<\/ol>\n<p>These files can use XDT functionality to transform XML files during install, and then to reverse the transformations upon uninstall. It&#8217;s a concept very similar to install.ps1\/uninstall.ps1, but using the XDT library for the XML transforms.<\/p>\n<p>We are working on the source-based integration of this feature now, and we plan to include it in the NuGet 2.6 release in early summer 2013.<\/p>\n<p>For more information about the XDT library and its open source project, check out the <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/xdt-xml-document-transform-released-on-codeplex-com\/\">.NET Web Development and Tools blog post<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sitting there since October 12, 2010, with a total of 55 votes accumulated since then, there&#8217;s a NuGet feature that has had more than its fair share of attention: Support Visual Studio (XDT) Web.config Transforms. It&#8217;s the 17th highest voted work item of all time for NuGet, and the 5th highest voted open work item. [&hellip;]<\/p>\n","protected":false},"author":4267,"featured_media":58792,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[7933,7874],"tags":[],"class_list":["post-156","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-feature-announcement","category-nuget"],"acf":[],"blog_post_summary":"<p>Sitting there since October 12, 2010, with a total of 55 votes accumulated since then, there&#8217;s a NuGet feature that has had more than its fair share of attention: Support Visual Studio (XDT) Web.config Transforms. It&#8217;s the 17th highest voted work item of all time for NuGet, and the 5th highest voted open work item. [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/156","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/users\/4267"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/comments?post=156"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/156\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media\/58792"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media?parent=156"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=156"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=156"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}