2010-11-19 26 views

回答

4

添加到布伦特所说的。我使用了一个特殊的仅配置(Config)项目,其中包含每个部署类型的文件夹 - 在每个文件夹内部都有一组.config和.cscfg文件,这些文件是针对特定部署(也包括一些局部.config文件)。在通过Pre-Build事件步骤的每次编译过程中,Visual Studio都会将文件从正确的文件夹复制到该Config项目的根文件夹中。
这是我在预生成事件命令行使用命令:

xcopy /Y "$(ProjectDir)$(ConfigurationName)\*.config" "$(ProjectDir)" 
xcopy /Y "$(ProjectDir)$(ConfigurationName)\*.cscfg" "$(ProjectDir)" 

溶液中的链接配置文件从配置项目的文件夹每隔项目。

我也使用配置转换,以适应生产环境和非生产环境。所有非生产(本地开发环境,Azure-QA开发环境)都有很多调试和跟踪内置 - 错误完全返回给客户端/ etc。生产环境已经锁定。

编辑:写了一篇博客这个最后:http://www.paraleap.com/blog/post/Managing-environments-in-a-distributed-Azure-or-other-cloud-based-NET-solution.aspx

布伦特指出,这是不是有暂存区是一个全面的测试网站是个好主意。它更适合快速冒烟测试,以及将新软件包部署到Azure而无需占用主站点的好方法。 (生产和部署之间的IP交换通常不会造成任何问题的用户)

希望这有助于

+0

谢谢伊戈雷克。我同意暂存区域仅用于部署前的快速测试。这也是我所做的。 – Nadjib 2010-11-20 10:11:04

+1

最后在http://www.paraleap.com/blog/post/Managing-environments-in-a-distributed-Azure-or-other-cloud-based-NET-solution.aspx上写下了关于此的博客。 – Igorek 2011-09-13 02:13:45

2

首先一个问题,你是指传统配置中的配置设置?或者在云服务配置(cscfg)中?

如果以后,那么ATM我不知道任何配置转换的支持。我见过的大多数人采用的方法是在进行天蓝色部署时保留数字配置文件并使用适当的文件。

本主题还涉及使用“分段”环境。我看到一些人将它用作并行测试环境。在实践中,它更有意义地将其作为一个临时区域,在将其投入生产之前对新部署进行抽烟测试。如果您需要更长期的测试环境,我发现最好将这些服务部署到自己的独特命名空间中,然后将这些命名空间从生产服务中除去。

这再次涉及Azure的ALM最佳实践(版本控制,部署等)。我相信PNP团队正在努力并希望尽快提供建议。

+0

我指的是云服务配置。我想知道是否可以使用与传统配置这些云服务配置相同的自动转换。 – Nadjib 2010-11-20 10:10:01

0

简单回答你的问题是肯定的,但你必须混乱与周围的.ccproj文件手工做它。如何做到这一点的完整描述可以发现here

1

像knightpfhor说,你可以使用Visual Studio配置转换,如果你手动编辑.ccproj文件。 My answer到一个类似的问题列出了获得转换工作所需的最少步骤数。

1

您可以在Azure SDK 1中使用CloudConfigurationManager。7 http://msdn.microsoft.com/en-us/LIBRARY/microsoft.windowsazure.cloudconfigurationmanager

这首先查看ServiceConfiguration.cscfg例如ServiceConfiguration.Cloud.cscfg进行配置设置。如果它不存在它回落到web.config中和的app.config

例如

CloudConfigurationManager.GetSetting("StorageConnectionString") 

将目光在StorageConnectionString设置适当的cscfgfile,那么它会搜索web.config中,然后的app.config。

相关问题