尝试使用 Azure SDK 2.5 进行发布会导致空引用(对象引用未设置为对象的实例)

Trying to publish using Azure SDK 2.5 results in a null-ref (Object reference not set to an instance of an object)

我们升级我们的 Azure 部署项目从 SDK 2.4 到 SDK 2.5

该项目有两个工作者角色。

将 2.4 项目发布到云服务过去工作正常,但升级到 2.4 后我们看到发布失败,Microsoft Azure Activity 日志 Window 中显示以下输出:

下午 4:44:19 - 检查远程桌面证书...

下午 4:44:20 - 应用诊断扩展。

下午 4:44:20 - 对象引用未设置到对象的实例。

"Applying Diagnostics extension"也是我们以前在2.4中看不到的东西。

知道是什么原因导致这个 以上 错误吗?

事实证明,如果您混合启用/禁用诊断的角色,就会发生这种情况。在某些情况下可能会发生这种情况。

  1. 您通过编辑 wadcfgx 文件明确禁用了对某些角色的诊断。
  2. 您通过双击获得的 UI 明确禁用了某些角色的诊断 - 部署项目 > 角色 > 角色名称。
  3. 您将 2.4 或更早版本的项目升级到了 2.5。 SDK 2.5 引入了一个新的诊断配置文件 (.wadcfgx)。升级项目时,visual studio 会将旧的 .wadcfg 文件转换为新的 .wadcfgx 文件。由于错误,有时此转换无法创建/添加新文件。

解决方法是对所有角色禁用诊断或对所有角色启用诊断。然后您可以使用 wadcfgx 文件中的配置来控制您需要传输/阻止的数据。