使用msbuild构建cspkg时,如何使用不同的cscfg文件(本地与云)?要部署到不同的环境,我需要不同的软件包还是需要不同的cscfg文件?又如何使用csdef?
答案 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)不是构建的包的一部分。