• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1612
  • Last Modified:

Parser Error - Could not load type in IIS7.5 .NET 4 site

Hi Folks,

Just upgraded my website to Visual Studio 2010, changed the targeting to .NET4.

Built a deployment and installed it onto 2008R2 with .NET4 app pool and I'm getting the below error:

"Could not load type"

Any ideas? It runs fine on the dev machine.


Server Error in '/' Application.

Parser Error
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.

Parser Error Message: Could not load type 'website.main'.

Source Error:

Line 1:  <%@ Master Language="VB" AutoEventWireup="false" CodeBehind="main.master.vb" Inherits="website.main" %>
Line 2:  
Line 3:  <?xml version="1.0" encoding="UTF-8"?>

Source File: /main.Master    Line: 1

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.1
  • 5
  • 4
2 Solutions
I think here is some issue:
CodeBehind="main.master.vb" Inherits="website.main" %>

Could you please past your .aspx and  code behind here to get into the issue..
plqAuthor Commented:
OK here's the top of default.aspx

<%@ Page Language="vb" AutoEventWireup="false" MasterPageFile="~/main.Master" CodeBehind="default.aspx.vb" Inherits="website._default"
    title="Some Title" %>

<%@ MasterType virtualPath="~/main.Master" %>

<%@ register src="xxxx.ascx" tagname="xxbutton" tagprefix="uc1" %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">

And here's the top of main.Master

<%@ Master Language="VB" AutoEventWireup="false" CodeBehind="main.master.vb" Inherits="website.main" %>

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head runat="server">
    <title>Page Title</title>
      <link href="main.css" rel="stylesheet" type="text/css" />

<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1" /><!-- can't use text/xhtml because ie6 doesnt support it -->
<meta content="no-cache" http-equiv="Pragma" />
<meta name="keywords" content="xxxxxxxx" />

<script type="text/javascript" src="chat.js" ></script>

<body class="mainbody" onclick="try{bodyclick()} catch(e) {}" >

This has worked for years in .NET 2, and it works fine in .NET 4 on the dev machine, I get this error when its deployed out of the built msi on win2008r2. So I'm thinking its an IIS application or permissions issue


in case its IIS issue, I preferred to try
Application pool > Managed pipeline mode: Integrated/Classic
Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

plqAuthor Commented:
thanks I just tried that.

In iis 7.5 you don't get the option of "integrated/classic" - you can choose from integrated or classic but not both

When I switch to classic I get 404 page not found.
When I switch to integrated I get the original error message above
When I switch to a lower framework it raises an error about web.config entries

plqAuthor Commented:
BTW I've tried asp.net app pool and the app pool for the site itself. Both target 4.0 integrated. Both give the same error.

Both pools enable 32 bit and the app itself is compiled with 32 bit
yes that's what I mean you need you need to try either of these.

I also have faced the same kind of problem few days back.

I tried the classic mode and then do some fixation and in my case it works

if you are upgraded from 2.0 then you also try the classic mode then next find why its page not found.
move from IIS 6.0 to IIS7 gives to hard time to configure.
plqAuthor Commented:
Turned out that for some reason the deployment was placing the DLL website.dll into webfolder\bin\bin instead of webfolder\bin.

I presume this is a bug in the upgrade process of setup. Will investigate more now..
plqAuthor Commented:
Yes the above is the answer.  The .NET upgrade engine when going from 2.0 to 4.0 changes the location of the bin file seemingly at random.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

  • 5
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now