【发布时间】:2017-02-21 04:19:55
【问题描述】:
我从 Internet 下载了一个示例 website 应用程序,该应用程序是使用旧版 ASP.NET 2.0 WebForms 构建的。此应用程序有一个名为 clsTest 的自定义类。在页面 Test.aspx.cs 后面的代码中,此类声明为:
public clsTest myTest;
但是当我编译应用程序时,我在上述声明中收到以下错误:The type or namespace name 'clsTest' could not be found (are you missing a using directive or an assembly reference?)
Test.aspx.cs 页面背后的代码快照:
using System;
using System.Web.UI;
using myNameSpace;
namespace myNameSpace
{
public partial class Test : Page
{
public int TotalMethods;
public bool bVal;
public clsTest myTest;
protected void Page_Load(object sender, EventArgs e)
{
....
}
....
....
}
}
问题:即使我在声明clsTest 的代码隐藏页面顶部声明using myNameSpace;,我仍然会收到上述错误。为什么?以下是 clsTest 类的快照:
namespace myNameSpace
{
public class clsTest
{
public bool Errors;
public string FirstName;
public bool FirstNameErr;
public string LastName;
public bool LastNameErr;
}
}
更新
以下是我从 Internet 下载的实际遗留 ASP.NET 网站项目的屏幕截图。在这个实际的应用程序中,有问题的类是CCProcessor。正如您在下面的屏幕截图中看到的,CCProcessor.cs 文件位于项目的根文件夹中,我在顶部声明了 using ... 语句,但屏幕截图中的工具提示仍在抱怨缺少指令或程序集.为什么?另一个类 PaymentSettings 也存在相同的错误,该类也存在于项目的根文件夹中。 注意:要清楚地看到图片,您可能需要单击它以在整个浏览器中查看。
【问题讨论】:
-
您是否尝试过将类定义放在与 Test 类相同的 .cs 文件中?
-
您已将您的类命名为 cslTest 但将其引用为 clsTest
-
@CodingDawg 我已经纠正了错字。但问题依然存在。
-
@nam 我的回答解决了你的问题吗?
-
@CodingDawg 您是否知道如何确定
clsTest是否在不同的程序集或项目中?可能是这种情况,但我无法找到该课程所在的程序集?由于它是一个遗留的 ASP.NET website 项目,它也没有 Reference 文件夹,我可以在其中搜索程序集。并且 Visual Studio 解决方案中没有其他项目。