web-services - 安装 WIF 运行时以在 Windows Azure 中托管 .NET 应用程序

标签 web-services azure assemblies wif dynamics-crm-online

我开发了一个自定义应用程序,它能够使用 CRM Web 服务并从自定义 .NET 页面在 CRM 中执行 Windows Live Id 身份验证、创建、读取和更新操作。当我在 Visual Studio 2010 中调试应用程序时,它运行得非常好,但是当我部署相同的应用程序并尝试进行身份验证时,它会显示以下错误:

“无法加载文件或程序集“Microsoft.IdentityModel,Version=3.5.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。系统找不到指定的文件。”

我只是想知道如何使用启动任务安装 Microsoft.IdentityModel 程序集。我按照以下链接中的一些步骤进行操作:

http://blogs.msdn.com/b/sriharsha/archive/2012/04/07/windows-azure-unable-to-find-assembly-microsoft-identitymodel.aspx

但无法将 RegisterDLL.cmd 添加到我的项目解决方案中。

最佳答案

嗯,

您可以使用 Sandrino 建议的内容,但也可以使用 this powershell script 。我在几个项目中使用它并且运行良好。它还自动识别 Windows 版本(因为对于 Azure guest 操作系统系列 1.xx,您必须使用 Windows6.0-xxxxx,对于 guest 操作系统系列 2.xx,您必须使用 Windows6.1-xxx 版本的 KB 更新)。

您可以在一个非常简单的启动任务中执行该 powershell 脚本。创建一个 setup.cmd 文件,其中包含以下内容:

@echo off
powershell -command "Set-ExecutionPolicy Unrestricted" 2>> err.out
powershell .\Install-WIF-OnAzure.ps1 2>> err.out

并将其作为简单的启动任务运行:

 <WebRole name="AzureAndWif" vmsize="Small">
    <Startup>
      <Task commandLine="setup.cmd" executionContext="elevated" />
    </Startup>
   ...
 </WebRole>

希望这也有帮助;)

关于web-services - 安装 WIF 运行时以在 Windows Azure 中托管 .NET 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10206022/

相关文章:

java - 用于 Web 服务开发的 Sun Metro 和 Apache CXF 之间的比较?

.net - 为 Azure Function App 启用 VNet 集成时出现 "Http2ConnectionException: HTTP/2 error code ' PROTOCOL_ERROR ' (0x1)"错误

.net - .net Reference Assemblies 文件夹是否必须位于系统驱动器上?

.net - 如何将同一程序集的多个版本添加到 gac

c# - 从外部源检查文件版本?

java - Netbeans 7 中的 Java 应用程序中的 Web 服务

php - 寻找在线sql注入(inject)工具检查器

javascript - 无法将 html 内容发送到 Web 服务,出现未找到错误

azure - 在 Web 应用程序中安装 Azure 文件共享时,我收到 InvalidCredentials 状态

azure - hyperdrive运行成功后注册模型时添加模型描述