使用msbuild构建cspkg时,如何使用不同的cscfg文件(本地与云)

时间:2013-09-02 02:52:53

标签: azure configuration package

使用msbuild构建cspkg时,如何使用不同的cscfg文件(本地与云)?要部署到不同的环境,我需要不同的软件包还是需要不同的cscfg文件?又如何使用csdef?

2 个答案:

答案 0 :(得分:1)

它们不包含在包装中,它们是完全分开的。您可以将.cscfg文件重命名为.zip,然后将其解压缩并查看内容 - 那里没有.cscfg文件。要部署服务,您需要包含除设置之外的所有内容的包(.cspkg)以及仅包含设置的权限.cscfg。要部署到多个环境,您可以使用多个.cscfg文件和相同的包。

.csdef文件不完全清楚,看起来它包含在包中并用于验证包内容和随其提交的.cscfg文件(例如,您没有声明的设置.csdef,不在.cscfg中提供)。无论如何,你不必携带它。

答案 1 :(得分:1)

正如文档中提到here

  

ServiceDefinition.csdef文件包含的元数据   Windows Azure环境要求满足您的要求   应用程序,包括它包含的角色。该文件还包含   适用于所有实例的配置设置。这些   可以使用Windows Azure在运行时读取配置设置   服务托管运行时API。你的文件无法更新   服务正在Windows Azure中运行。

     

ServiceConfiguration.cscfg文件设置配置的值   服务定义文件中定义的设置并指定   每个角色要运行的实例数。此文件可以更新   而您的服务在Windows Azure中运行。

基本上,服务定义定义了不同角色的设置。服务配置文件为许多设置提供实际值。这是实现web.config transformation为Web项目实现的目标之一,但是针对Azure项目。

因此,使用多个cscfg可以在不同的位置使用不同的配置部署相同的包,因此这些文件(cscfg)不是构建的包的一部分。