在已部署的站点中找不到命名空间;在当地工作

时间:2011-06-10 11:29:42

标签: .net asp.net deployment namespaces

我的托管网站无效,并且发出错误。

**The name 'General' does not exist in the current context**

Line 19:     if (passedArgument == "true")
Line 20:     {
Line 21:         General.Session.UserID = "";
Line 22:         General.Session.UserName = "";
Line 23:         General.Session.ShoppingCart = null

正如你所看到的,General是一个包含Session类的命名空间。

               namespace General
  {
/// <summary>
/// Summary description for Session
/// </summary>
public class Session
{
    public Session()
    {
    }

我的服务提供商告诉我应该检查我的代码,但它在我的本地计算机上运行正常。为什么找不到命名空间,并生成错误?

2 个答案:

答案 0 :(得分:0)

通常,这意味着您在子目录(即不是站点根目录)中运行,并且该目录未在IIS中标记为应用程序

基本上,App_Code解析相对于最近的应用程序(否则为root)。因此,如果您的应用位于/someapp,那么它不会查看/someapp/App_Code,而是查看/App_Code。您的文件不在哪里。

如果是这种情况,请将该文件夹标记为IIS中的应用程序。这在IIS版本之间有所不同,但最终结果是文件夹图标应在IIS中显示一个cog。

答案 1 :(得分:0)

在使用“客户端配置文件”而不是完整的.NET运行时(在本例中为4.0)时,我遇到了代码未编译的问题。

要检查的一件事是您的提供程序是否正在运行完整的运行时。您还可以尝试更改项目的目标框架,看看它是否会引发相同的错误。

对于网络托管,仅运行客户端配置文件没有任何意义,但可能他们已经错误地安装了它?