Asp.net 从那里我可以找到PublicKeyToken&;我的<;会员资格>&书信电报;供应商>;

Asp.net 从那里我可以找到PublicKeyToken&;我的<;会员资格>&书信电报;供应商>;,asp.net,asp.net-mvc,web-config,ldap,Asp.net,Asp.net Mvc,Web Config,Ldap,我正在使用asp.net mvc web应用程序,需要连接到远程域,因此我在我的web.config中添加了以下内容:- <membership> <providers> <add name="TestDomain1ADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=4.0.0.0,

我正在使用asp.net mvc web应用程序,需要连接到远程域,因此我在我的web.config中添加了以下内容:-

<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代表什么,从哪里可以找到它们?如果我没有指定这些值,我的提供者是否有效?
感谢

因为这是一个常规的框架组件,它将部署在GAC上;要查找完整的程序集名称,您可以在上访问该类文档

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


该信息与web.config文件上的版本和公钥令牌不匹配,.NET framework找不到它,您将得到一个缺少的程序集异常。

那么您是指承载.NET应用程序的服务器的.NET版本,还是active directory服务器的版本?取决于您的.NET应用程序版本;如果您是使用4.0框架编译的,您应该向您的托管提供商请求该版本的应用程序池。在这种情况下,active directory版本无关紧要。但老实说,我删除了版本和公钥令牌以及类型中的所有值。然后我只将类型指定为type=“System.Web.Security.ActiveDirectoryMembershipProvider”。我可以毫无问题地连接到我的广告。所以在我的例子中,可能知道版本和公钥令牌不是必需的,你能给我一个建议吗?你可以在GAC上有不同的程序集版本,这就是为什么你可能想在某个时候添加它的原因