我正在为SharePoint Foundation部署创建自定义成员资格提供程序。我已构建并部署到全局程序集缓存,但在登录页面尝试加载时出现错误。 我不确定为什么找不到签署的GAC部署的程序集。
描述:处理为此请求提供服务所需的配置文件时发生错误。请查看下面的具体错误详细信息并相应地修改配置文件。 任何帮助或指示都表示赞赏。
Fusion跟踪的IIS错误:
Parser Error Message: Could not load file or assembly 'myprovider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=4120f2d354ae484d' or one of its dependencies. The system cannot find the file specified.
Source Error:
Line 322: <add name="i" type="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthMembershipProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
Line 323: <add name="ADMembers"
Line 324: type="myproviderProvider.myMembershipProvider, myprovider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=4120f2d354ae484d"
Line 325: connectionStringName="myconn"
Line 326: enableSearchMethods="true"
Source File: C:\inetpub\wwwroot\wss\VirtualDirectories\443\web.config Line: 324
Assembly Load Trace: The following information can be helpful to determine why the assembly 'myprovider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=4120f2d354ae484d' could not be loaded.
=== Pre-bind state information ===
LOG: User = NT AUTHORITY\IUSR
LOG: DisplayName = myprovider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=4120f2d354ae484d
(Fully-specified)
LOG: Appbase = file:///C:/inetpub/wwwroot/wss/VirtualDirectories/443/
LOG: Initial PrivatePath = C:\inetpub\wwwroot\wss\VirtualDirectories\443\bin
Calling assembly : (Unknown).
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\inetpub\wwwroot\wss\VirtualDirectories\443\web.config
LOG: Using host configuration file: C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Aspnet.config
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v2.0.50727\config\machine.config.
LOG: Post-policy reference: myprovider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=4120f2d354ae484d
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/Temporary ASP.NET Files/root/87797408/25d55f52/myprovider.DLL.
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/Temporary ASP.NET Files/root/87797408/25d55f52/myprovider/myprovider.DLL.
LOG: Attempting download of new URL file:///C:/inetpub/wwwroot/wss/VirtualDirectories/443/bin/myprovider.DLL.
LOG: Attempting download of new URL file:///C:/inetpub/wwwroot/wss/VirtualDirectories/443/bin/myprovider/myprovider.DLL.
LOG: Attempting download of new URL file:///C:/inetpub/wwwroot/wss/VirtualDirectories/443/_app_bin/myprovider.DLL.
LOG: Attempting download of new URL file:///C:/inetpub/wwwroot/wss/VirtualDirectories/443/_app_bin/myprovider/myprovider.DLL.
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/Temporary ASP.NET Files/root/87797408/25d55f52/myprovider.EXE.
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/Temporary ASP.NET Files/root/87797408/25d55f52/myprovider/myprovider.EXE.
LOG: Attempting download of new URL file:///C:/inetpub/wwwroot/wss/VirtualDirectories/443/bin/myprovider.EXE.
LOG: Attempting download of new URL file:///C:/inetpub/wwwroot/wss/VirtualDirectories/443/bin/myprovider/myprovider.EXE.
LOG: Attempting download of new URL file:///C:/inetpub/wwwroot/wss/VirtualDirectories/443/_app_bin/myprovider.EXE.
LOG: Attempting download of new URL file:///C:/inetpub/wwwroot/wss/VirtualDirectories/443/_app_bin/myprovider/myprovider.EXE.
程序集的gacutil列表输出
--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.5448; ASP.NET Version:2.0.50727.5456
The Global Assembly Cache contains the following assemblies:
myprovider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=4120f2d354ae484d,
processorArchitecture=MSIL
SCHEME: <WINDOWS_INSTALLER> ID: <MSI> DESCRIPTION : <Windows Ins
taller>
Number of items = 1
成员资格提供者的web.config enrty:
<add name="ADMembers"
type="MyClaimsProvider.MyMembershipProvider, myprovider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=4120f2d354ae484d"
connectionStringName="myconn"
enableSearchMethods="true"
attributeMapUsername="sAMAccountName" />
答案 0 :(得分:0)
您是否尝试重置IIS?应用程序池将GAC:ed dll:s缓存在内存中,需要回收才能加载新的..
答案 1 :(得分:0)
我创建了一个新的项目和设置项目,目标是.Net 3.5并在那里加入我的班级源代码。 (之前的尝试针对VS 2010默认网4。 到下一个错误(我的课程不会加载) 但希望某处有些愚蠢的错字。
感谢Rikard始终有效的建议。