我开发了一个自定义应用程序,它能够使用 CRM Web 服务并从自定义 .NET 页面在 CRM 中执行 Windows Live Id 身份验证、创建、读取和更新操作。当我在 Visual Studio 2010 中调试应用程序时,它运行得非常好,但是当我部署相同的应用程序并尝试进行身份验证时,它会显示以下错误:
“无法加载文件或程序集“Microsoft.IdentityModel,Version=3.5.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。系统找不到指定的文件。”
我只是想知道如何使用启动任务安装 Microsoft.IdentityModel 程序集。我按照以下链接中的一些步骤进行操作:
但无法将 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/