I’m having a problem accessing a class after deploying my website to a server.
Note that this is a Web Site not Web Application.The error is:
Compiler Error Message: CS0246: The type or namespace name ‘Order’ could not be found (are you missing a using directive or an assembly reference?)
Version Information: Microsoft .NET Framework Version:2.0.50727.1433; ASP.NET Version:2.0.50727.1433
I’ve done a lot of googling and haven’t been able to find anything that helps.
My code looks like this (I get the compiler error on the line declaring Order):
//Default.aspx.cs
namespace Foo
{
public partial class _Default : System.Web.UI.Page
{
private Order custOrder;
....etc
}
}
In the App_Code folder I have Order.cs:
namespace Foo
{
public class Order
{
....etc
}
}
The strange thing is that this works fine locally and in a dev environment. When I move it to a qa environment, that’s when I get that error.
I deploy by committing all the code to a subversion repository and then doing an export on the server machines.
I guess it could be some kind of namespace error, but I don’t know why it would work on some machines and not others.
Any idea what could be different on a different server that might cause this? All machines report the .net version as 2.0
As it says, the error means that it couldn’t find that type.
Possible causes:
A compilation error prevented the .cs files in your app_code folder from being compiled. When ASP.NET looks at the compiled code, it can’t find the class you’re looking for, thus the error.
The .cs files weren’t deployed to app_code. Obviously if the source files aren’t in the site, they can’t be compiled.
A permissions issue is preventing the server from loading the .cs files.
One of your pages is incorrectly referencing the class – perhaps a typo in the .cs or the .aspx, a class moved to a new namespace or renamed, etc.
Essentially, the source couldn’t be found, accessed or compiled.