Intermittent Referencing Bug in ASP.NET 2.0 / VS 2005

Discussion in 'ASP .Net' started by steve_barker333@hotmail.com, Oct 10, 2006.

  1. Guest

    Hi guys!

    I keep getting the following error reported by VS 2005 in my ASP.NET
    2.0 web project:

    "The type or namespace name 'MainPages_XXX' could not be found (are you
    missing a using directive or an assembly reference?)"

    The line of C# code (in the "code-behind" file) that error refers to
    looks something like this:

    if (Page.PreviousPage == null || !(Page.PreviousPage is MainPages_XXX))
    {
    //Some code....
    }

    For instance, the error might occur in a page called Page1.aspx (with
    code behind file Page1.aspx.cs). In this page, I might refer to another
    page, say Page2.aspx (code behind Page2.aspx.cs) in order to check that
    the previous page was the correct type. In this particular project,
    I've used folders to break up the structure of my ASP.NET pages. The
    pages that are "erroring" are all in a folder called MainPages,
    hence the "MainPages_" prefix, which VS 2005 has added itself. In the
    cases where I get errors, both pages are in the same folder!

    Closing and re-opening VS 2005 fixes the problem, but clearly, for a
    large solution, that is not a viable way to get around this!

    Has anyone else seen this problem? Is there a work around or a hot fix?
    Is it a bad idea to refer to the type of the previous page (using
    "is") in order to check how you got to the page you're on?

    You help would be greatly appreciated!

    Thanks in advance,

    Steve.
     
    , Oct 10, 2006
    #1
    1. Advertising

  2. Do you have the <%@ Reference directive at the top of Page1.aspx
    referring to the other page you want to access?

    The page model in asp.net 2.0 has changed from 1.1, now you have to use
    a reference directive to access other aspx pages, if you need Page1
    access Page2, and Page2 to access Page1, then that would create a
    circular reference, in which case you can create an interface that your
    page implements and then pass the interface around instead (better idea
    IMO)

    hope i didn't go off base there =) Just trying to point out problems I
    ran into.

    Sean

    wrote:
    > Hi guys!
    >
    > I keep getting the following error reported by VS 2005 in my ASP.NET
    > 2.0 web project:
    >
    > "The type or namespace name 'MainPages_XXX' could not be found (are you
    > missing a using directive or an assembly reference?)"
    >
    > The line of C# code (in the "code-behind" file) that error refers to
    > looks something like this:
    >
    > if (Page.PreviousPage == null || !(Page.PreviousPage is MainPages_XXX))
    > {
    > //Some code....
    > }
    >
    > For instance, the error might occur in a page called Page1.aspx (with
    > code behind file Page1.aspx.cs). In this page, I might refer to another
    > page, say Page2.aspx (code behind Page2.aspx.cs) in order to check that
    > the previous page was the correct type. In this particular project,
    > I've used folders to break up the structure of my ASP.NET pages. The
    > pages that are "erroring" are all in a folder called MainPages,
    > hence the "MainPages_" prefix, which VS 2005 has added itself. In the
    > cases where I get errors, both pages are in the same folder!
    >
    > Closing and re-opening VS 2005 fixes the problem, but clearly, for a
    > large solution, that is not a viable way to get around this!
    >
    > Has anyone else seen this problem? Is there a work around or a hot fix?
    > Is it a bad idea to refer to the type of the previous page (using
    > "is") in order to check how you got to the page you're on?
    >
    > You help would be greatly appreciated!
    >
    > Thanks in advance,
    >
    > Steve.
     
    Sean Chambers, Oct 10, 2006
    #2
    1. Advertising

  3. Guest

    Hi Sean!

    I'm pretty sure that this is not a referencing problem, since the
    solution compiles if I close it down and open it. I think it's more a
    bug with Studio. Thanks for your suggestions though.

    There is not really any benefit in me using an Interface in what I'm
    doing, since Page 1 is only ever used from Page 2, and Page 2 could use
    any number of the few public properties that Page 1 exposes. I'd only
    use an Interface if two pages that expose similar properties (say Page
    1a and Page 1b) could lead to Page 2.

    I personally don't think I've done anything that is frowned upon in my
    code; it just doesn't always compile!

    Thanks again!

    Steve.

    Sean Chambers wrote:
    > Do you have the <%@ Reference directive at the top of Page1.aspx
    > referring to the other page you want to access?
    >
    > The page model in asp.net 2.0 has changed from 1.1, now you have to use
    > a reference directive to access other aspx pages, if you need Page1
    > access Page2, and Page2 to access Page1, then that would create a
    > circular reference, in which case you can create an interface that your
    > page implements and then pass the interface around instead (better idea
    > IMO)
    >
    > hope i didn't go off base there =) Just trying to point out problems I
    > ran into.
    >
    > Sean
    >
    > wrote:
    > > Hi guys!
    > >
    > > I keep getting the following error reported by VS 2005 in my ASP.NET
    > > 2.0 web project:
    > >
    > > "The type or namespace name 'MainPages_XXX' could not be found (are you
    > > missing a using directive or an assembly reference?)"
    > >
    > > The line of C# code (in the "code-behind" file) that error refers to
    > > looks something like this:
    > >
    > > if (Page.PreviousPage == null || !(Page.PreviousPage is MainPages_XXX))
    > > {
    > > //Some code....
    > > }
    > >
    > > For instance, the error might occur in a page called Page1.aspx (with
    > > code behind file Page1.aspx.cs). In this page, I might refer to another
    > > page, say Page2.aspx (code behind Page2.aspx.cs) in order to check that
    > > the previous page was the correct type. In this particular project,
    > > I've used folders to break up the structure of my ASP.NET pages. The
    > > pages that are "erroring" are all in a folder called MainPages,
    > > hence the "MainPages_" prefix, which VS 2005 has added itself. In the
    > > cases where I get errors, both pages are in the same folder!
    > >
    > > Closing and re-opening VS 2005 fixes the problem, but clearly, for a
    > > large solution, that is not a viable way to get around this!
    > >
    > > Has anyone else seen this problem? Is there a work around or a hot fix?
    > > Is it a bad idea to refer to the type of the previous page (using
    > > "is") in order to check how you got to the page you're on?
    > >
    > > You help would be greatly appreciated!
    > >
    > > Thanks in advance,
    > >
    > > Steve.
     
    , Oct 11, 2006
    #3
  4. I see,

    In that case I would delete all the compiled dll's and .pdb's, do a
    "clean solution" and then a "rebuild solution"

    I've noticed in the past that some mechanism (not sure what portion),
    seems to want to cache the dll's in memory, perhaps by clearing them
    out completley and doing a complete recompile that might fix the
    problem?

    Let me know what you find out.

    Sean

    wrote:
    > Hi Sean!
    >
    > I'm pretty sure that this is not a referencing problem, since the
    > solution compiles if I close it down and open it. I think it's more a
    > bug with Studio. Thanks for your suggestions though.
    >
    > There is not really any benefit in me using an Interface in what I'm
    > doing, since Page 1 is only ever used from Page 2, and Page 2 could use
    > any number of the few public properties that Page 1 exposes. I'd only
    > use an Interface if two pages that expose similar properties (say Page
    > 1a and Page 1b) could lead to Page 2.
    >
    > I personally don't think I've done anything that is frowned upon in my
    > code; it just doesn't always compile!
    >
    > Thanks again!
    >
    > Steve.
    >
    > Sean Chambers wrote:
    > > Do you have the <%@ Reference directive at the top of Page1.aspx
    > > referring to the other page you want to access?
    > >
    > > The page model in asp.net 2.0 has changed from 1.1, now you have to use
    > > a reference directive to access other aspx pages, if you need Page1
    > > access Page2, and Page2 to access Page1, then that would create a
    > > circular reference, in which case you can create an interface that your
    > > page implements and then pass the interface around instead (better idea
    > > IMO)
    > >
    > > hope i didn't go off base there =) Just trying to point out problems I
    > > ran into.
    > >
    > > Sean
    > >
    > > wrote:
    > > > Hi guys!
    > > >
    > > > I keep getting the following error reported by VS 2005 in my ASP.NET
    > > > 2.0 web project:
    > > >
    > > > "The type or namespace name 'MainPages_XXX' could not be found (are you
    > > > missing a using directive or an assembly reference?)"
    > > >
    > > > The line of C# code (in the "code-behind" file) that error refers to
    > > > looks something like this:
    > > >
    > > > if (Page.PreviousPage == null || !(Page.PreviousPage is MainPages_XXX))
    > > > {
    > > > //Some code....
    > > > }
    > > >
    > > > For instance, the error might occur in a page called Page1.aspx (with
    > > > code behind file Page1.aspx.cs). In this page, I might refer to another
    > > > page, say Page2.aspx (code behind Page2.aspx.cs) in order to check that
    > > > the previous page was the correct type. In this particular project,
    > > > I've used folders to break up the structure of my ASP.NET pages. The
    > > > pages that are "erroring" are all in a folder called MainPages,
    > > > hence the "MainPages_" prefix, which VS 2005 has added itself. In the
    > > > cases where I get errors, both pages are in the same folder!
    > > >
    > > > Closing and re-opening VS 2005 fixes the problem, but clearly, for a
    > > > large solution, that is not a viable way to get around this!
    > > >
    > > > Has anyone else seen this problem? Is there a work around or a hot fix?
    > > > Is it a bad idea to refer to the type of the previous page (using
    > > > "is") in order to check how you got to the page you're on?
    > > >
    > > > You help would be greatly appreciated!
    > > >
    > > > Thanks in advance,
    > > >
    > > > Steve.
     
    Sean Chambers, Oct 11, 2006
    #4
  5. Guest

    Hi Sean!

    Thanks for your mail. Can you just confirm though, which dlls to clean?

    I have found something else out:

    When the error occurs, if I go to the .aspx.cs file relating to the
    page mentioned in the error, and delete a semi-colon from the end of
    any line, wait a while for the compiler to pick it up, and then replace
    the semi-colon, the thing compiles OK. How weird is that?

    Could this be to do with RAM? I've noticed that when the solution is
    loaded, my RAM is all used up, and the PC is living entirely in virtual
    memory. Perhaps a trip to my local PC shop would solve the problem?!

    Thanks,

    Steve.



    Sean Chambers wrote:
    > I see,
    >
    > In that case I would delete all the compiled dll's and .pdb's, do a
    > "clean solution" and then a "rebuild solution"
    >
    > I've noticed in the past that some mechanism (not sure what portion),
    > seems to want to cache the dll's in memory, perhaps by clearing them
    > out completley and doing a complete recompile that might fix the
    > problem?
    >
    > Let me know what you find out.
    >
    > Sean
    >
    > wrote:
    > > Hi Sean!
    > >
    > > I'm pretty sure that this is not a referencing problem, since the
    > > solution compiles if I close it down and open it. I think it's more a
    > > bug with Studio. Thanks for your suggestions though.
    > >
    > > There is not really any benefit in me using an Interface in what I'm
    > > doing, since Page 1 is only ever used from Page 2, and Page 2 could use
    > > any number of the few public properties that Page 1 exposes. I'd only
    > > use an Interface if two pages that expose similar properties (say Page
    > > 1a and Page 1b) could lead to Page 2.
    > >
    > > I personally don't think I've done anything that is frowned upon in my
    > > code; it just doesn't always compile!
    > >
    > > Thanks again!
    > >
    > > Steve.
    > >
    > > Sean Chambers wrote:
    > > > Do you have the <%@ Reference directive at the top of Page1.aspx
    > > > referring to the other page you want to access?
    > > >
    > > > The page model in asp.net 2.0 has changed from 1.1, now you have to use
    > > > a reference directive to access other aspx pages, if you need Page1
    > > > access Page2, and Page2 to access Page1, then that would create a
    > > > circular reference, in which case you can create an interface that your
    > > > page implements and then pass the interface around instead (better idea
    > > > IMO)
    > > >
    > > > hope i didn't go off base there =) Just trying to point out problems I
    > > > ran into.
    > > >
    > > > Sean
    > > >
    > > > wrote:
    > > > > Hi guys!
    > > > >
    > > > > I keep getting the following error reported by VS 2005 in my ASP.NET
    > > > > 2.0 web project:
    > > > >
    > > > > "The type or namespace name 'MainPages_XXX' could not be found (are you
    > > > > missing a using directive or an assembly reference?)"
    > > > >
    > > > > The line of C# code (in the "code-behind" file) that error refers to
    > > > > looks something like this:
    > > > >
    > > > > if (Page.PreviousPage == null || !(Page.PreviousPage is MainPages_XXX))
    > > > > {
    > > > > //Some code....
    > > > > }
    > > > >
    > > > > For instance, the error might occur in a page called Page1.aspx (with
    > > > > code behind file Page1.aspx.cs). In this page, I might refer to another
    > > > > page, say Page2.aspx (code behind Page2.aspx.cs) in order to check that
    > > > > the previous page was the correct type. In this particular project,
    > > > > I've used folders to break up the structure of my ASP.NET pages. The
    > > > > pages that are "erroring" are all in a folder called MainPages,
    > > > > hence the "MainPages_" prefix, which VS 2005 has added itself. In the
    > > > > cases where I get errors, both pages are in the same folder!
    > > > >
    > > > > Closing and re-opening VS 2005 fixes the problem, but clearly, for a
    > > > > large solution, that is not a viable way to get around this!
    > > > >
    > > > > Has anyone else seen this problem? Is there a work around or a hot fix?
    > > > > Is it a bad idea to refer to the type of the previous page (using
    > > > > "is") in order to check how you got to the page you're on?
    > > > >
    > > > > You help would be greatly appreciated!
    > > > >
    > > > > Thanks in advance,
    > > > >
    > > > > Steve.
     
    , Oct 17, 2006
    #5
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Al

    Intermittent Postback Bug

    Al, Jul 1, 2003, in forum: ASP .Net
    Replies:
    0
    Views:
    499
  2. RedEye
    Replies:
    2
    Views:
    589
    Jason Kester
    Dec 13, 2005
  3. =?Utf-8?B?S3Jpc1I=?=

    ASP.NET 2.0 intermittent referencing errors

    =?Utf-8?B?S3Jpc1I=?=, Dec 20, 2005, in forum: ASP .Net
    Replies:
    0
    Views:
    358
    =?Utf-8?B?S3Jpc1I=?=
    Dec 20, 2005
  4. John Nagle

    M2Crypto possible intermittent bug

    John Nagle, Oct 10, 2007, in forum: Python
    Replies:
    5
    Views:
    316
    John Nagle
    Oct 12, 2007
  5. George Kenyon
    Replies:
    0
    Views:
    710
    George Kenyon
    Mar 24, 2009
Loading...

Share This Page