2

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

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

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

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 指令或程序集引用?)

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

任何帮助是极大的赞赏,

拍。

4

4 回答 4

1

OK,我找到了问题(其实是同事做的)

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

干杯,

拍。

于 2010-08-05T21:03:51.690 回答
0

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

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

于 2010-08-05T16:44:26.510 回答
0

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

于 2010-08-05T15:49:01.913 回答
0

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

于 2010-08-05T15:48:11.360 回答