1

我继承了一个项目,该项目在单独的文件中包含 appSettings 和 Connectionstrings。使用 SlowCheetah 我为每个环境的每个文件生成了转换。

结构如下所示 appSettings.config appSettings.DEV.config appSettings.UAT.config appSettings.RELEASE.config

connectionStrings.config connectionStrings.DEV.config connectionStrings.UAT.config connectionStrings.RELEASE.config

我使用 Visual Studio 2010 中的发布功能在本地测试了转换。一切都很好。但是,当我在 TFS 中创建构建定义并通过 msbuild 自动部署时,不会应用转换。例如,发布 appsettings 文件包含基本文件的内容。不应用任何变换。我想知道是否有其他人尝试过这个,他们是否遇到过同样的问题。谢谢你的时间。

4

1 回答 1

0

在您的构建定义中,您可能定义了要使用的配置。其中一部分还定义了诸如 Any CPU 或 x86 之类的东西。事实证明,Platform AnyCPU 有一个空间,而在项目文件中 Platform AnyCPU 没有空间。

我发现解决这个问题的最好方法是将平台留空,只输入配置名称。VS 会弹出一个警告,让你知道有数据丢失,你可以点击 Yes 来保存它。或者,您可以只输入您的配置,如以下 |Release,|Debug。

模式为 [PlatformName]|[ConfigurationName],[PlatformName]|[ConfigurationName],...

于 2014-07-22T20:27:20.143 回答