CodeFile 和缺少 using 指令或程序集引用

问题描述

我有一个非常旧的 ASP Classic 网站需要维护,我正在尝试转换一个功能,该功能使用旧的 ActiveX 控件生成强大的 Excel 和 Word 文件,而是使用 ASP.NET CodeFile 文件

我更像是一个 MVC 人,对 Web 表单不太了解,但能够构建一个 Excel 报告的工作示例作为 CodeBehind 文件并引用 EPPlus。到目前为止还好,但是当我尝试将 *.aspx 页面切换到 CodeFile 时,我的 *.aspx.cs 文件的第 6 行出现编译错误

CS0246:找不到类型或命名空间名称“OfficeOpenXml” (您是否缺少 using 指令或程序集引用?)

Line 4:  using System.Drawing;
Line 5:  using System.Globalization;
Line 6:  using OfficeOpenXml; <-- error here
Line 7:  using OfficeOpenXml.Style;

我对 CodeFile 遗漏了什么?这不可能吗?

AFAIK CodeFile 方法正是我想要的,因为它可以让我将文件无缝添加到我现有的 ASP Classic 站点,而使用 CodeBehind 需要将项目作为单独的应用程序托管。参见 self-回答

解决方法

好的,我在@शेखर 的提问中找到了我的问题。我基本上有两个项目。一个是普通的 asp 经典网站,另一个是实际的 .NET Web 表单应用程序。我的问题是我的 dll 所在的 bin 文件夹的位置。 bin 文件夹必须是我的 asp 经典网站的根级别,无论我的 .NET 文件在该站点中的何处托管。

另外,我很确定我在最初的问题中对我的 AFAIK 是错误的。如果您的项目的 dll 也在根级别的 bin 文件夹中,您应该对 CodeBehind 很好。但是,如果您的经典网站将不相关的“应用程序”托管在根目录下的不同文件夹中,则这可能没有意义。

我会继续保留,以防其他人发现它有用或直到有人建议我将其删除。

感谢@शेखर 让我指出正确的方向。