4

我正在为我的 MVC3 Web 应用程序使用 ACS 身份验证。它在我的本地机器上运行良好。但是当我将它上传到 Azure 时。我收到了这个错误。我设置 CopyLocal=True ,请帮助

Unable to find assembly 'Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Runtime.Serialization.SerializationException: Unable to find assembly 'Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.  
4

3 回答 3

6

有关此的更多信息。复制本地,即。确保 Microsoft.IdentityModel.dll 位于 bin 目录中,除非您的代码使用 RoleEnvironment API,否则它将起作用。如果是这种情况,那么您将遇到以下已知问题:

http://msdn.microsoft.com/en-us/library/windowsazure/hh403974.aspx

在这种情况下,Microsoft.IdentityModel 需要存在于 Azure VM 的 GAC 中。为此,请使用启动任务。这篇文章描述了两种方法来实现这一点:

http://blogs.infosupport.com/adding-assemblies-to-the-gac-in-windows-azure/

于 2012-06-20T16:31:39.023 回答
3

我为微软工作。由于点击率低,我们已经在 hh403974.aspx 删除了这篇文章,但我看到它仍然从这个帖子中获得了一些推荐,所以我将粘贴下面的文章内容。

调用 RoleEnvironmentAPI 时无法找到程序集“Microsoft.IdentityModel”

适用于:适用于 SDK1.3 及更高版本,使用完整的 IIS Web 角色和 Windows Identity Foundation。

症状:您在第一次调用 RoleEnvironment 方法时遇到以下异常。

[SerializationException: 无法找到程序集 'Microsoft.IdentityModel,Version=3.5.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35'。]

原因:Windows Identity Foundation 程序集未正确安装到 Azure 虚拟机。

解决方法:使用启动任务在虚拟机上重新安装Windows Identity Foundation 包。

有关使用启动任务的详细信息,请参阅 在 Azure 中运行启动任务。

于 2014-11-22T20:22:09.457 回答
1

您的 Azure 计算机可能缺少WIF 运行时

于 2012-04-15T21:10:41.010 回答