0

我在Visual Studio 2008中为几个不同的客户端维护一个webforms应用程序。每个客户端都有自己单独的web.config文件。部署时,我们正在使用配置转换,这很好。构建时的Visual Studio 2008 XDT(配置变换)

目前有许多开发人员正在开发此项目,同时开发每个开发人员都需要具有特定客户端的配置值。现在,我们正在做的是我们每个人在本地都有自己的web.config版本,我们只是尽量小心,不要检查web.config文件。

这种方法当然有几个缺点。我们需要手动完成这项工作,这很烦人,我们需要非常小心,不要检查配置文件,因为它可能会给其他开发人员带来麻烦,向配置添加新值会很麻烦,等等。

我想从Visual Studio构建时转换配置文件,因此我们可以选择从哪个文件获取配置值,而无需手动编辑web.config。

我一直在寻找,在网上一段时间,但最好的东西,我发现到目前为止是这样的: http://www.codeproject.com/Articles/399002/Project-Build-Web-config-transformation

这是不是我的工作,它给了我一个构建错误说它能”请复制Web.config_output,因为文件丢失。

回答

0

默认情况下,像SlowCheetah和其他配置转换技术的工具使用$(Configuration)来确定要应用的转换的名称。你可以把slowcheetah.targets文件编辑成$(username),如果你是在visual studio里面编译的话,它会选择登录用户名的标准窗口。当您使用'$(BuildingInsideVisualStudio)'='true'时,您可以使用条件来应用更改。

这将需要你使用MsBuild目标文件做一些工作,但最终的结果是你的开发人员可以检查web.jesse.houwing.config(在我的情况下),那个文件在那里,它们的转换将被应用的标准版本或调试转换。

至于一个好的起点,看看SlowCheetah

+0

基于$(Configuration)的转换我没有问题,因为配置取决于我们正在开发的客户端,而不是开发人员正在编码。每个客户有一个并不是太可怕,但我也无法做到这一点。 Slowchetah不适用于vs2008。 – andyroschy

+0

因为Slowcheetah只是一组MsBuild目标和一个MsBuild任务,您应该可以使用它,即使Visual Studio加载项不起作用,转换也会 – jessehouwing