2014-01-20 51 views
0

我正在与一个asp.net mvc web应用程序,我需要连接到远程域,所以我添加以下到我的web.config: -从哪里我可以找到PublicKeyToken&版本为我<membership><providers>

<membership> 
     <providers> 
     <add name="TestDomain1ADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=4.0.0.0, 
      Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="TestDomain1ConnectionString" connectionUsername="....." connectionPassword="....." /> 

但我不确定Version和PublicKeyToken表示什么,从哪里可以找到它们?如果我不指定这些值,我的提供者是否有效? 谢谢

回答

2

由于这是一个常规框架程序集,它将部署在GAC上;要发现完整的程序集名称,您可以访问关于MSDN的类文档。

在那里你会发现该类驻留在System.Web程序集中。现在您可以导航到c:\windows\assembly文件夹并找到与所需版本匹配的程序集,右键单击它并复制公钥标记。

这些信息是否与web.config文件上的版本和公钥标记不匹配,.NET框架无法找到它,并且会收到程序集异常。

+0

所以,你的意思是为.net应用程序托管的服务器的.net版本,或者是用于活动目录服务器的版本? –

+0

取决于您的.net应用程序版本;你是用4.0框架编译它,你应该问你的托管服务提供商为该版本的应用程序池。在这种情况下,活动目录版本无关紧要。 –

+0

但说实话,我删除了版本和公钥标记以及类型内的所有值。那么我只指定类型为type =“System.Web.Security.ActiveDirectoryMembershipProvider”。我可以连接到我的广告没有任何问题。所以在我的情况下,也许知道版本和公钥令牌不是必需的,你能建议吗? –

相关问题