为什么 Azure 在我的 cspkg 中找不到 IISConfigurator.exe?

Why can't Azure find IISConfigurator.exe in my cspkg?

我正在使用 Azure 2.5 SDK 上传 cspkg + cscfg 以在 Azure 中创建新的 Web 角色部署。当我这样做时,我看到状态为 BadRequest.

的以下错误

{"BadRequest : The file provided is not a valid service package. Detailed error code: {0} Invalid application runtime - a runtime component is missing:/base/x64/IISConfigurator.exe."}

其中 {0} 是 role/project 名称。

但是,当我检查我的 cspkg 文件的内容时,base/x64 目录确实包含 IISConfigurator.exe.

我还注意到 RoleModel.xml 文件已通过打包修改为包含 IISConfigurator.exe 任务,如下所示:

<RoleModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="CacheExtension" version="2.5.6496.10" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">
  <Startup>
    <Task commandLine="IISConfigurator.exe" executionContext="elevated" relativePath="base\x64">
      <Environment>
        <Variable name="_IISCONFIGURATOR_SETUP_URL_REWRITE_" value="true" />
        <Variable name="_IISCONFIGURATOR_CLEAN_SERVER_ONSTARTUP_" value="true" />
        <Variable name="RdModuleName" value="IISConfigurator" />
      </Environment>
    </Task>

所以我的问题是:此错误消息的真正原因是什么?

其他可能的线索: 我的RoleModel.xml在cspkg中还包含:

<Property name="TargetFrameworkVersion" value="v4.5.1" />
<Property name="RoleType" value="Web" />
<Property name="Configuration" value="Debug" />
<Property name="Platform" value="AnyCPU" />
<Property name="SetConfiguration" value="Configuration=Debug" />
<Property name="SetPlatform" value="Platform=AnyCPU" />
<Property name="RoleTargetFramework" value="v4.5.1" />
<Property name="TargetRuntimeVersion" value="v4.0" />

Tim,这个问题我们只遇到过两次,而且是升级到 SDK 2.5.1 的开发者。在那些开发人员卸载 Azure SDK 并重新安装 SDK 2.5 导致问题消失之前,我们一直无法重现该问题,也没有找到根本原因。

能否尝试卸载并重新安装 Azure SDK?也可以试试刚刚发布的SDK 2.6

我在使用 Azure 2.9 SDK 时遇到了这个问题。 我开始查看控制面板,发现似乎是双重安装。 我从我的 PC 上卸载了所有 2.9 Azure 组件,并重新安装了所需的组件。然后这一切都对我有用。