C# asp.net - 找不到类型或命名空间名称“Helper”(您是不是缺少 using 指令或程序集引用?)

Posted

技术标签:

【中文标题】C# asp.net - 找不到类型或命名空间名称“Helper”(您是不是缺少 using 指令或程序集引用?)【英文标题】:C# asp.net - The type or namespace name 'Helper' could not be found (are you missing a using directive or an assembly reference?)C# asp.net - 找不到类型或命名空间名称“Helper”(您是否缺少 using 指令或程序集引用?) 【发布时间】:2011-03-25 21:28:12 【问题描述】:

我正在修改其他人的代码,他们有一个帮助类,其中包含许多不应该存在的代码(数据访问、业务逻辑,所有东西都被慢慢地塞进去了)。

我已将相关代码移至适当的预先存在的类中,并在适当的项目中创建了一个单独的全新帮助程序类,但我对此类的所有引用都不起作用。

这是我的班级外观的简单视图(名称略有变化);

namespace Company.Web.Application.Reporting 


    public class ReportHelper
    
    here I have a bunch of methods
    

这是它的引用方式;

using Company.Web.Application.Reporting;

namespace Company.Web.Application.App.Reports

    public partial class PlansReports : PageBase
    
        //This is the problem part
        private ReportHelper Helper = new ReportHelper(); 
        heaps of other code with no problems here...
    

我的问题是我在任何地方尝试访问我的新助手时都会收到以下错误。

类型或命名空间名称 找不到“ReportHelper”(是 您缺少 using 指令或 汇编参考?)

我所有的 using 语句都在那里,我在每个相关项目中都有适当的引用,但这仍然存在。 在这一点上我完全被困住了,我只需要解决这个引用问题,这样我就可以确保我所有的辅助方法都能正常工作。

非常感谢任何帮助,

拍拍

【问题讨论】:

可能已经完成,但请确保更新参考。 【参考方案1】:

好的,我发现了问题(其实是同事发现的)

这个原始的 Helper 类包含在我的主项目的 app_code 文件夹中,正如我刚刚了解到的,它处理编译的方式与项目中的所有其他文件夹不同。 此处的代码是在运行时编译的,而不是在构建期间编译的。 当我创建我的新类时,它们位于 app_code 文件夹中,因为我使用 code rush 将类提取到一个新文件中,该文件将其保存在同一位置......之后我将它们移动到它们的“合理”位置。 不幸的是,他们仍然从 app_code 文件夹中的先前存在继承了“内容”的构建操作。 因此,在新的类文件中,我只是将其构建操作更改为“编译”,现在一切顺利。

干杯,

拍拍

【讨论】:

你应该接受你的答案是正确的,所以它不会显示为未回答。【参考方案2】:

您的ReportHelper 是否在单独的项目或 DLL 中?如果是这样,您是否添加了这个项目/dll 作为参考? (在参考下的解决方案资源管理器中,检查您的项目/dll 是否存在。

【讨论】:

是的,ReportHelper 位于单独的项目/DLL 中。我引用了主项目中添加的另一个项目和 DLL(尝试引用一个、另一个和两者!)但我仍然没有运气。另外,我看到了您之前的回复,您在其中询问是否构建了引用的项目。是的,它会为我构建,但由于某种原因,我仍然无法使用我的新课程。【参考方案3】:

您是否构建了Company.Web.Application.Reporting 以便知道类型?这将是我的想法以及确保正确设置依赖项。

【讨论】:

【参考方案4】:

听起来您知道自己在做什么,并且一切看起来都正确,所以它必须是简单的。您是否尝试访问 ReportHelper 中尚未编译到 dll 中的更改?我会尝试重建参考程序集;每次您对该程序集进行更改时,都需要重新构建它。

还要验证您是否将正确的程序集(例如,调试与发布)添加到您的项目中。无论哪种类型都无所谓,但您不想将新的更改编译到 Debug dll 中,并继续添加旧版本的 Release dll。

【讨论】:

以上是关于C# asp.net - 找不到类型或命名空间名称“Helper”(您是不是缺少 using 指令或程序集引用?)的主要内容,如果未能解决你的问题,请参考以下文章

从调试模式切换到发布模式时,C# Asp.Net Webservice 抛出异常

命名空间“系统”中不存在类型或命名空间名称“事务”(您是不是缺少程序集引用?) - C# ASP.NET

C# 找不到类型或命名空间名称“NUnit”

C# ASP.NET ASP.NET#命名空间"System.Data"中不存在类型或命名空间名称"Linq"(是否缺少程序集引用?)

找不到类型或命名空间名称,C# 中的初学者

找不到类型或命名空间名称“readFullyStream”