如何让 VS 2010 按下 F5 也有“组态转换” - XDT Transformation Tool

如何在 VS 2010 按下 F5 也有“组态转换” - XDT Transformation Tool


本来这篇一个月前就已经准备好了,只是想说讲完 TechDay 后就要发的

发了前面三篇就整个歪去别的文章了 ( 汗 )

在   初次将现有的 MVC2 项目上传至 Azure 和 问题排除  这一篇中有提到组态转换的机制

可以让我们布署的时候可以切换成不同的 Config 档

大家都知道 Azure 的项目布署时间并不短,所以在本机中测试就非常重要

在本机测试中希望能用 本地的 SQL Server ,而布署后是用 SQL Azure 。 ( 测试数据、环境 比较好控制 )

也因为如此 组态转换 的功能非常重要

而且出货的时候你一定不会想要把 测试用的 config 布署出去

也许会说,我们的 Config 都是另外再去读 XML 档后再怎么样、怎么样的。

但无论如此一定要修改 配置文件才行

要人工改?那就会增加人为修改错误的几率。

尤其是别人帮你修改的时候,就是有人会改错 Orz  屡试不爽呀 ~~~

由于当初设计的原意是在布署时可以自动切换

所以在开发环境中,默认都还是只会用 Web.Config

还好现在可以用 ConfigTransformation Tool 达到在 IDE 中就可以随意切换

这对于 ASP.NET 的开发人员来说是非常有帮助的

因为这样子就可以在“自已的电脑上”、“测试区”、“远端数据库”等等各种不同的环境有不同的 Config

这个组态转换的功能必须要用 ASP.NET 4.0 ,当然也必须是用 Web 项目。

怎么做?

=============   0   ======================

安装 NuGet 套件

http://nuget.codeplex.com/

暗黑大的“还在挥汗徒手安装程序库? 试试NuGet吧”

http://blog.darkthread.net/post-2011-03-12-nuget.aspx

=============   1   ======================

首先你的组态必须是要有多组可以做切换  ( 默认是 Debug , Release )

image

image

新增组态

image

选择最相信的组态设定来源后,再自已修改会是比较简单的

image

接下来就由工具帮你新增组态转换。  千万要记住 若是没有修改过组态的话,这里是无法点选的

============= 2 ======================

记得一定要先选择“Web 项目”后再点选“工具”—> Library Package Manager –> Manage NuGet Packages

  image
记得要先选好“项目”后再开启 NuGet 

在右上角输入 “XDT Transformation Tool”就会找到套件,按下安装就可以了!

image

安装完后就会看到在 Installed packages 中会有 ConfigTransformationTool 的项目

image
另外在 Web 项目中也会多一个 ctt 参考

 image

在版控中也会自动帮你把 packages 统统都加入

这样子就完成了,接下来只要切换组态时直接按下 “F5”

CTT 会自动帮您把 组态组合起来!  ROCK!

由于这个套件基本上只会在“开发环境”中使用,所以别忘记在将“复制到本机”改成 False

不然若该 Server 没有安装 SQL Server  则会出现以下的错误

 image

无法载入文件或组件 'Microsoft.SqlServer.BatchParser' 或其相依性的其中之一。 试图载入格式错误的程序。

描述: 在执行目前 Web 要求的过程中发生未处理的例外情形。请检阅栈追踪以取得错误的详细资讯,以及在程序中产生的位置。
例外详细资讯: System.BadImageFormatException: 无法载入文件或组件 'Microsoft.SqlServer.BatchParser' 或其相依性的其中之一。 试图载入格式错误的程序。

=== 系结前状态资讯 ===
记录: 使用者 = DEMOfranma
记录: DisplayName = Microsoft.SqlServer.BatchParser
 (Partial)
警告: 提供了组件的部分系结资讯:
警告: 组件名称: Microsoft.SqlServer.BatchParser | 网域 ID: 2
警告: 如果只提供部分的组件显示名称,就会发生部分系结。 
警告: 这可能会使系结器载入不正确的组件。
警告: 建议为组件提供完全指定的文字识别,
警告: 该识别是由简单名称、版本、文化特性和公开金钥语汇基元组成。
警告: 如需详细资讯和这个问题的一般解决方法,请参阅白皮书 http://go.microsoft.com/fwlink/?LinkId=109270。
记录: Appbase = file:///C:/WorkSpace/Franma/TailspinToys/Dev/Src/Tailspin.Web/
记录: 初始 PrivatePath = C:WorkSpaceFranmaTailspinToysDevSrcTailspin.Webbin
正在调用组件 : (Unknown)。
===
记录: 此系结在 default 载入内容中开始。
记录: 正在使用应用程序组态档: C:WorkSpaceFranmaTailspinToysDevSrcTailspin.Webweb.config
记录: 使用主机组态档: 
记录: 从 C:WindowsMicrosoft.NETFrameworkv4.0.30319configmachine.config 使用电脑组态档。
记录: 目前不会套用原则至参考 (私用、自订、部分或以位置为主的组件系结)。
记录: 正在尝试从新的 URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/c9e82cff/44032f9b/Microsoft.SqlServer.BatchParser.DLL 下载。
记录: 正在尝试从新的 URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/c9e82cff/44032f9b/Microsoft.SqlServer.BatchParser/Microsoft.SqlServer.BatchParser.DLL 下载。
记录: 正在尝试从新的 URL file:///C:/WorkSpace/Franma/TailspinToys/Dev/Src/Tailspin.Web/bin/Microsoft.SqlServer.BatchParser.DLL 下载。
错误: 无法完成组件的安装 (hr = 0x8007000b)。已终止探查。

参考数据

XDT Transformation Tool

http://ctt.codeplex.com/

http://vishaljoshi.blogspot.com/2009/03/web-deployment-webconfig-transformation_23.html

ASP.NET 4.0, Part 4: Config Transformation Files

Web 应用程序项目部署的 Web.config 转换语法

http://msdn.microsoft.com/zh-tw/library/dd465326.aspx

原文:大专栏  如何让 VS 2010 按下 F5 也有“组态转换” - XDT Transformation Tool


猜你喜欢

转载自www.cnblogs.com/chinatrump/p/11514334.html