【问题标题】:Why can't Azure find IISConfigurator.exe in my cspkg?为什么 Azure 在我的 cspkg 中找不到 IISConfigurator.exe?
【发布时间】:2025-12-24 21:55:16
【问题描述】:

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

{"BadRequest : 提供的文件不是有效的服务包。详细错误代码:{0}无效的应用程序运行时 - 缺少运行时组件:/base/x64/IISConfigurator.exe。"}

其中 {0} 是角色/项目名称。

然而,当我检查我的 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>

所以我的问题是:这个错误信息的真正原因是什么?

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

<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" />

【问题讨论】:

    标签: azure azure-web-roles


    【解决方案1】:

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

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

    【讨论】:

    • 好像我有 SDK 的预览版:我无法通过运行卸载 MicrosoftAzureTools.VS120.exe,因为它说我安装了不同的版本,但我可以从控件中卸载它控制板。我在控制面板中看到实际上我安装了两个“Azure 创作工具”(2.5.6469.10 和 2.5.6499.15)。我把它们都卸载了。然后我安装了成功的 MicrosoftAzureAuthoringTools-x64.msi。安装 MicrosoftAzureTools.VS120.exe 仍然失败。然后我从控制面板“Microsoft.Azure.Tools for Microsoft Visual Studio 2013 - v2.5”(2.5.30319.1603)卸载。
    • 最后,我能够运行 MicrosoftAzureTools.VS120.exe 来安装非预览版 2.5 工具。 [顺便说一句,由于我的项目的程序集依赖性,我认为我不能依赖 Azure 2.6 运行时。我假设 2.6 SDK 不针对 2.5 azure 运行时?]
    • 在我进行此软件维护后生成的 CSPKG 似乎相同,除了包中的各种 Azure DLLS - 以及它们在 .csman 中的哈希值。无论如何,这似乎解决了它!
    • 很高兴听到蒂姆,感谢您的更新。 2.6 不使用 2.5 运行时,但您应该能够在配置文件中创建绑定重定向以将 2.5 重定向到 2.6。
    【解决方案2】:

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

    【讨论】:

      最近更新 更多