G
Guest
Environment
---------------
Visual Studio 2005
..NET 2.0
Windows XP SP2
Scenario
----------
TCLibrary (Class Library)
• Contains MyIdentity and MyPrincipal classes that implement the IIdentity
and IPrincipal interfaces respectively.
TCWebFile (File-system web site)
• The TCLibrary.dll assembly is referenced using a local reference (.refresh
file in the bin folder.)
• The site is using forms authentication.
• The Application_AuthenticateRequest method in the Global.ascx sets the
current HttpContext.User property equal to a new instance of the MyPrincipal
class.
Problem
----------
The following SerializationException is thrown while processing the initial
request.
Server Error in '/TCWebFile' Application
--------------------------------------------------------------------------------
Type is not resolved for member 'TCLibrary.MyPrincipal,TCLibrary,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=8bf75122f18cbc44'.
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: Type
is not resolved for member 'TCLibrary.MyPrincipal,TCLibrary, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=8bf75122f18cbc44'.
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.
Stack Trace:
[SerializationException: Type is not resolved for member
'TCLibrary.MyPrincipal,TCLibrary, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=8bf75122f18cbc44'.]
Microsoft.VisualStudio.WebHost.Connection.get_RemoteIP() +0
Microsoft.VisualStudio.WebHost.Request.GetRemoteAddress() +58
System.Web.HttpRequest.get_UserHostAddress() +31
System.Web.HttpRequest.get_IsLocal() +29
System.Web.Configuration.CustomErrorsSection.CustomErrorsEnabled(HttpRequest
request) +132
System.Web.HttpContext.get_IsCustomErrorEnabled() +40
System.Web.Configuration.UrlAuthFailedErrorFormatter.GetErrorText() +39
System.Web.Security.UrlAuthorizationModule.WriteErrorMessage(HttpContext
context) +39
System.Web.Security.UrlAuthorizationModule.OnEnter(Object source,
EventArgs eventArgs) +332
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +167
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&
completedSynchronously) +117
--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET
Version:2.0.50727.42
Analysis
----------
• The executing AppDomain where the exception is thrown is unable to resolve
the TCLibrary.MyPrincipal type.
• The TCLibrary is loaded in the AppDomain where the
Application_AuthenticateRequest is invoked.
• Using a GAC reference to the TCLibrary assembly solves the problem.
• The problem does not occur when the application is hosted by a local IIS
web site.
Test Case Files
---------------
Visual Studio 2005
..NET 2.0
Windows XP SP2
Scenario
----------
TCLibrary (Class Library)
• Contains MyIdentity and MyPrincipal classes that implement the IIdentity
and IPrincipal interfaces respectively.
TCWebFile (File-system web site)
• The TCLibrary.dll assembly is referenced using a local reference (.refresh
file in the bin folder.)
• The site is using forms authentication.
• The Application_AuthenticateRequest method in the Global.ascx sets the
current HttpContext.User property equal to a new instance of the MyPrincipal
class.
Problem
----------
The following SerializationException is thrown while processing the initial
request.
Server Error in '/TCWebFile' Application
--------------------------------------------------------------------------------
Type is not resolved for member 'TCLibrary.MyPrincipal,TCLibrary,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=8bf75122f18cbc44'.
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: Type
is not resolved for member 'TCLibrary.MyPrincipal,TCLibrary, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=8bf75122f18cbc44'.
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.
Stack Trace:
[SerializationException: Type is not resolved for member
'TCLibrary.MyPrincipal,TCLibrary, Version=1.0.0.0, Culture=neutral,
PublicKeyToken=8bf75122f18cbc44'.]
Microsoft.VisualStudio.WebHost.Connection.get_RemoteIP() +0
Microsoft.VisualStudio.WebHost.Request.GetRemoteAddress() +58
System.Web.HttpRequest.get_UserHostAddress() +31
System.Web.HttpRequest.get_IsLocal() +29
System.Web.Configuration.CustomErrorsSection.CustomErrorsEnabled(HttpRequest
request) +132
System.Web.HttpContext.get_IsCustomErrorEnabled() +40
System.Web.Configuration.UrlAuthFailedErrorFormatter.GetErrorText() +39
System.Web.Security.UrlAuthorizationModule.WriteErrorMessage(HttpContext
context) +39
System.Web.Security.UrlAuthorizationModule.OnEnter(Object source,
EventArgs eventArgs) +332
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +167
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&
completedSynchronously) +117
--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET
Version:2.0.50727.42
Analysis
----------
• The executing AppDomain where the exception is thrown is unable to resolve
the TCLibrary.MyPrincipal type.
• The TCLibrary is loaded in the AppDomain where the
Application_AuthenticateRequest is invoked.
• Using a GAC reference to the TCLibrary assembly solves the problem.
• The problem does not occur when the application is hosted by a local IIS
web site.
Test Case Files