【问题标题】:Windows Azure - Microsoft.IdentityModel not foundWindows Azure - 未找到 Microsoft.IdentityModel
【发布时间】:2023-03-23 23:21:01
【问题描述】:

我在我的机器上安装了 WIF 运行时和 SDK。我将 Microsoft.IdentityModel.dll 添加到我的 azure Web 应用程序中,本地一切运行良好。我构建了使用 Azure AppFabric 访问控制的简单 Web 应用程序。我为此关注 azure labs,正如我所说,本地一切都很棒。当我将 Web 应用程序发布到 Azure 时,出现以下错误:

找不到程序集“Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”。

在登录身份提供者后,Appfabric 中继部分将返回 url 后我得到它。奇怪的是我将 Copy Local 设置为 TRUE,因为那个 .dll 不是 Azure GAC 的一部分。我试图再次发布它,但我收到了同样的错误。我在互联网上发现了一些相同的问题,但没有具体的解决方案。这里有没有人有类似的东西并且可能有一个可行的解决方案?提前谢谢你

【问题讨论】:

    标签: dll azure appfabric


    【解决方案1】:

    您是否尝试过在创建部署包时禁用加密并验证 dll 确实存在?

    【讨论】:

    【解决方案2】:

    创建一个名为:_CSPACK_FORCE_NOENCRYPT_ 的新环境变量,将值设置为 true。重新启动您的 Visual Studio。

    【讨论】:

    • 这不应该是必要的,因为所有这些都允许您查看未加密的 cspack 文件。
    【解决方案3】:

    对于我需要在本地部署到 Azure 的任何内容,我会在我的项目文件夹中制作 DLL 的副本并从那里引用它们,同时将本地复制设置为 true。由于这样做,我不再有 DLL 未发布到 Azure 的任何问题。我还使用 MSBuild 通过命令行完成所有构建并手动发布 cspack。这意味着我不依赖 Visual Studio 进行构建或部署。

    【讨论】:

      【解决方案4】:

      我遇到了这个问题,this blog 中描述的解决方案提供了帮助。你需要从你的角色启动任务中运行这个命令:

      gacutil /nologo /i .\Microsoft.IdentityModel.dll  
      

      此启动任务必须以完全权限运行。

      【讨论】:

        猜你喜欢
        • 2011-05-25
        • 1970-01-01
        • 2013-01-01
        • 1970-01-01
        • 2013-11-24
        • 1970-01-01
        • 2011-06-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多