someone please help me with this.....

Discussion in 'ASP .Net' started by rn5a, Oct 14, 2006.

  1. rn5a

    rn5a Guest

    This is the second time I am asking this question in this newsgroup
    since I haven't got a solution or response from anyone in my previous
    post & I need to resolve this issue desperately. Sorry for the double
    post but I just didn't have any other option other than re-posting the
    same question in this newsgroup.

    Consider the following code in a VB class file:

    Namespace LoginUserFetchDB
    Public Class ZForZebra : Inherits SoapHeader
    Public UserName As String
    Public Password As String
    End Class

    Public Class GetDBRecords : Inherits WebService
    Private sqlCmd As SqlCommand
    Private sqlConn As SqlConnection
    Public sHeader As ZForZebra
    End Class
    End Namespace

    Using VBC. I compiled the above in LoginUserFetchDB.dll which resides
    in the folder C:\inetpub\wwwroot\ASPX\bin

    Have a look at the line

    Public sHeader As ZForZebra

    Though the above code & the ASPX page which uses the above DLL works
    without any problems, what I find is Visual Web Developer 2005 Express
    Edition underlines the word 'ZForZebra' saying that

    'ZForZebra' is ambiguous in the namespace 'LoginUserFetchDB'.

    That's the reason why I used such an absurd class name 'ZForZebra'
    since I am pretty sure that the .NET Framework won't be having any such
    class name. Neither have I used such a class name in any of my class
    files (or any other .NET related files) any time. I also tried using

    Public sHeader As LoginUserFetchDB.ZForZebra

    but that didn't make any difference.

    After a lot of research, using the Object Browser, I concluded that
    LoginUserFetchDB.dll not only exists in the above-mentioned bin
    directory, it also exists at 2 more places:

    C:\WINNT\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET


    C:\WINNT\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET

    It was only when I deleted LoginUserFetchDB.dll from the above 2
    folders did VWD 2005 stop highlighting this ambiguous name error.

    Though I don't think that's could be the reason why VWD is highlighting
    that error since in other VB class files using similar code, VWD
    doesn't highlight the error. So how do I avoid the ambiguous name error
    in VWD?

    I don't understand what's causing the ambiguous error since I am more
    than 100% sure that I have not used a class with the name 'ZForZebra'
    anytime anywhere!

    Someone please help me this time atleast.

    I really doubt that this question is such a difficult question to
    answer for ASP.NET MVPs & gurus.
    rn5a, Oct 14, 2006
    1. Advertisements

  2. Is it an actual error (i.e., is it compiling) or is it just VWD reporting an
    error in the editor?

    If it's still compiling and working fine, I woudlnt' worry about it. I've
    seen VS.NET 2005 report bogus errors in the past (although, a restart
    generally solves the problem).

    If it is a real issue, can you provide me with a zip of the project?

    Karl Seguin [MVP], Oct 15, 2006
    1. Advertisements

  3. rn5a

    rn5a Guest

    Only VWD reports this error; the class file compiles successfully & the
    ASPX page using the DLL works fine in IE as well without any errors.

    I agree with you that I shouldn't be worrying too much on it but I
    would like to know WHY is VWD generating the error when I am more than
    100000% sure that never ever in my life have I named a class
    'ZForZebra' in any of the ASP.NET related files residing in my Intranet
    server! Restarting doesn't resolve the issue.

    Or, maybe it's a bug in VWD 2005 otherwise I don't find any reason for
    VWD to report the error!.
    rn5a, Oct 15, 2006
  4. rn5a

    Jon Paal Guest

    the reason it is "ambiguous" is likely because the class exists in two locations :

    1. in the app_code folder where it is developed and
    2. in the /bin folder where it is compiled.

    you can only use one or the other.

    Delete the /bin folder after confirming it will compile and continue your development work. For production only transfer the DLL to
    the production server, not the app_code folder contents.
    Jon Paal, Oct 15, 2006
  5. rn5a

    rn5a Guest

    Jon, all my ASPX pages reside in C:\Inetpub\wwwroot\ASPX directory & I
    don't find any folder named 'App_Code' within the ASPX folder though
    numerous 'App_Code' folders exist as sub-folders within the C:\Program
    Files\Microsoft.NET & C:\WINNT\Microsoft.NET folders but none of them
    have any DLL named 'LoginUserFetchDB.dll'.

    The ASPX folder has a sub-folder named 'App_Data' which has 2
    database-related files - ASPNETDB.mdf & ASPNETDB_Log.ldf.

    Any other ideas? Should I create a folder named 'App_Code' in the ASPX
    folder, copy-paste all DLLs from the 'bin' folder (existing in
    C:\Inetpub\wwwroot\ASPX) to the 'App_Code' folder (& then delete the
    'bin' folder) or re-compile all VB class files into DLLs (using VBC) &
    save them in the 'App_Code' folder? Will that resolve the issue?
    rn5a, Oct 15, 2006
  6. rn5a

    Jon Paal Guest

    sounds like the problem is you don't have a clean website defined in IIS.
    You seem to have everything in the wwwroot folder.

    --Create a website in IIS and then
    --create the correct folder structure in that website
    --put your files in the correct folders
    Jon Paal, Oct 15, 2006
  7. rn5a

    rn5a Guest

    Wow....saving any VB class file in the 'App_Code' directory doesn't
    necessitate the developer to compile the corresponding assembly (DLL)
    using VBC in the 'bin' directory.....that's great!! But are there any
    performance benefits of one over the other?

    Thanks for the link, Jon. The article indeed turned out to be pretty
    helpful though I haven't yet got the time to go through the entire
    article......will go through the entire article in a day or two....:)
    rn5a, Oct 16, 2006
  8. It's the new default project model in 2.0. They are compiled JIT. It allows
    for files to be swaped on the fly without having to recompile. Performance
    shouldn't be an issue.

    Karl Seguin [MVP], Oct 16, 2006
    1. Advertisements

Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.