1

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

4

2 回答 2

1

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

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

于 2013-09-02T05:53:46.567 回答
1

正如文档提到的here

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

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

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

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

于 2013-09-02T08:45:28.257 回答