Ethan Gunderson
Ethan Gunderson

Reputation: 11527

App_Code folder issues

So I'm having a really weird issue with my App_Code folder on a new website I'm designing.

I have a basic class inside of a namespace in the App_Code folder. Everything works fine in the IDE when I setup the namespace and make an object from the class. It brings up the class summary on hover, and when you click on "go to deffinition" it goes to the class file. And it also works fine localy.

However, when I load the site onto my server, I get this error message when I access that page:

Line 10: using System.Web.UI.WebControls;
Line 11: using System.Web.UI.WebControls.WebParts;
Line 12: using xxxx.xxxx

Compiler Error Message: CS0246: The type or namespace name 'xxxxxx' could not be found (are you missing a using directive or an assembly reference?)

I know for a fact that the class file is there. Anyone have any idea of whats going on?

Edits:

John, yes it is a 2.0 site.

Upvotes: 30

Views: 31031

Answers (6)

Mazen Elkashef
Mazen Elkashef

Reputation: 3499

The problem that your classes are not compiled, You'll solve this issue simply by going to the properties of any class in the App_Code folder and change it's 'Build Action' property from "Content" to "Compile"

Upvotes: 68

krowe2
krowe2

Reputation: 237

For those that follow...I had this same set of issues but it was caused because I named a class in App_Code, 'HTML'. Took a long while to figure out that it was just a name conflict because the compiler wasn't being very helpful about telling me what the problem was.

Upvotes: 0

pirsqua
pirsqua

Reputation: 340

This just happened to me and the solution was that App_Code (and App_Data) were not put in the root of the server, but in a subfolder that held everything else. Must be in root!

Upvotes: 2

Danny Tuppeny
Danny Tuppeny

Reputation: 42413

Depending on how you publish the site, it won't look in App_Code, it'll look for a DLL in the Bin folder that contains the class instead. How did you transfer your website to the server?

Upvotes: 1

Jeffrey L Whitledge
Jeffrey L Whitledge

Reputation: 59533

I have noticed a mismatch sometimes between the IDE parser and the compiler whenever a compile-time error occurs in a referenced assembly or code file. In that circumstance the IDE will correctly identify the types and provide full support for them, but since the compiler was unable to create the referenced objects, it will complain that the referenced objects don't exist.

Now I don't want to go accusing anybody of anything—this is just a guess—but you should probably make sure there are not any errors in your referenced code file.

Upvotes: 1

X-Cubed
X-Cubed

Reputation: 1899

If your application is a Web Application project rather than a Web Site project, the code files should not be in the App_Code folder (stupid design, I know). Create a new folder called code or something and put them in there.

It caused me all sorts of problems when I upgraded a bunch of old .Net web sites to application projects.

Upvotes: 22

Related Questions