【问题标题】:How do I resolve "Type or namespace could not be found" compilation error?如何解决“找不到类型或命名空间”编译错误?
【发布时间】:2010-10-07 16:33:49
【问题描述】:

我担心我支付的虚拟主机配置不正确。在我的本地计算机上正确编译和运行的 ASP.NET 网站在部署后无法运行。

我正在处理的问题是编译错误:CS0246,“找不到类型或命名空间(您是否缺少“使用”指令或程序集引用?)

我的网站包含以下文件和文件夹:

websitedemo/Default.aspx
websitedemo/Default.aspx.cs
websitedemo/App_Code/HelloClass.cs

如果我尝试使用我的 App Code 文件夹中包含的任何代码,则会发生编译错误。 如果它有助于解决错误,我已将整个 /websitedemo/ 文件夹包含在此存档中:http://kivin.ca/websitedemo/source.zip

我已将文件夹置于调试模式。编译错误画面可在http://kivin.ca/websitedemo/查看

最好的问候。

--更新:

如果它有助于解决此错误,我会遇到当我尝试部署 ASP.NET WebApplication 而不是网站时发生的行为。

如果我的 aspx 文件包含这样的 @Page 直接:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="myproj._Default" Debug="true" %>

我得到的编译错误是:'Parser Error Message: Could not load type 'myproj._Default'。'

正在通过 ftp 使用 Build -> Publish -> [X] 替换匹配文件,[X] 仅运行此应用程序所需的文件部署 web 应用程序。 [X] 包含 App_Data 文件夹。

【问题讨论】:

  • 这可能并不重要,但该网站项目是在 Visual Web Developer 2008 中使用“文件”->“新建网站...”菜单创建的。我选择在 ftp 上创建它,以便它自动部署。

标签: c# asp.net web


【解决方案1】:

如果您在本地构建站点并将生成的 dll(将包含 HelloClass)上传到 bin 目录,我敢打赌它会起作用。

【讨论】:

  • 我最初的尝试是使用网络应用程序而不是网站。我遇到了同样的事情,虽然正在构建 bin/*dll 文件,但只有 aspx.cs 代码隐藏中的符号可用。我放弃了,因为网站更适合我的需求。
【解决方案2】:

尝试将 HelloClass.cs 放在命名空间中,并将 Using 放在默认文件的顶部

【讨论】:

  • 抱歉,更详细一点,我将帮助程序类包装在命名空间 demo.util 中,并使用 demo.util 添加到我的代码隐藏中。新的编译错误是:CS0246:找不到类型或命名空间名称“demo”(您是否缺少 using 指令或程序集引用?)
【解决方案3】:

http://msdn.microsoft.com/en-us/library/54dwfbb7.aspx

我认为这可能会对您有所帮助...如果您有子文件夹

另外,app_code 是在 framework 2.0 中引入的,你能检查一下 live box 上的 web 应用程序是否设置为使用 framework 2.0 吗?否则类不会在那里编译

【讨论】:

  • 谢谢,我该如何检查?到目前为止,我可以获得的信息是:提供商宣传 IIS7 和 ASP.NET 3.5,详细的编译器输出显示“C:\Windows\Microsoft.NET\Framework\v3.5\csc.exe”
  • 关于您的链接,我知道如何将子文件夹添加到 web.config,但无法显式添加 App_Code。
  • kivin.ca/websitedemo 上的错误消息(现在不存在)说该站点在 asp.net 2.0 下运行,所以这不是问题。
  • 那么您的站点是否部署到服务器 2008 机器上?
  • 唯一想到的另一件事是 app_code 中的类作为内容存在而不是编译(尽管在我的情况下这不会编译)
【解决方案4】:

我要感谢大家的支持。这是最值得赞赏的。我一直在联系我的网络托管公司的专家,他们告诉我这不是代码或服务器配置错误,而只是我的控制面板中错过了一步。 将我的网站工作目录设置为虚拟目录解决了这个问题。

感谢堆栈溢出社区和 Softsys Hosting 出色的支持人员。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多