我继承了一个项目,该项目在单独的文件中包含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文件包含基本文件的内容。不应用任何变换。我想知道是否有其他人尝试了这个,如果他们遇到了同样的问题。谢谢你的时间。
答案 0 :(得分:0)
在构建定义中,您可能已定义要使用的配置。其中一部分还定义了Any CPU或x86之类的东西。事实证明,解决方案平台任何CPU都有一个空间,在项目文件中,平台AnyCPU没有空间。
我发现解决此问题的最佳方法是将平台留空并仅输入配置名称。 VS会弹出一个警告,告诉您有数据缺失,您只需按“是”即可保存。或者,您只需键入以下配置,如下面的| Release,| Debug。
模式是[PlatformName] | [ConfigurationName],[PlatformName] | [ConfigurationName],...