0

I am creating a custom membership provider for a SharePoint Foundation deployment. I have built and deployed to the Global Assembly Cache, but get an error when the logon page tries to load. I am not certain why a signed GAC-deployed assembly can not be found.

Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately. Any help or direction is appreciated.

IIS Error with Fusion trace:

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 list output from the assembly

--------------------------------------------------------------------------------
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 for the membership provider:

<add name="ADMembers" 
           type="MyClaimsProvider.MyMembershipProvider, myprovider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=4120f2d354ae484d" 
           connectionStringName="myconn" 
           enableSearchMethods="true" 
           attributeMapUsername="sAMAccountName" /> 

2 Answers2

0

Did you try to reset the IIS? The application pools cache the GAC:ed dll:s in memory and need to be recycled in order to load the new ones..

Rikard Uppström
  • 1,413
  • 9
  • 16
0

I created a new project and setup project targeting .Net 3.5 and copeid my class' source in there. (previous attempt targeted VS 2010 default net 4. On to the next error (my class won't load) But that is hopefully some silly typo somewhere.

Thanks to Rikard for the always valid suggestion.