我从Internet下载了一个使用旧版ASP.NET 2.0 WebForms构建的示例website
应用程序。此应用程序有一个名为clsTest的自定义类。在页面Test.aspx.cs后面的代码中,该类声明为:
public clsTest myTest;
但是当我编译app时,我在上面的声明中得到以下错误: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)
{
....
}
....
....
}
}
问题:即使我在声明using myNameSpace;
的代码后面声明clsTest
,我仍然会收到上述错误。为什么?以下是clsTest类的快照:
namespace myNameSpace
{
public class clsTest
{
public bool Errors;
public string FirstName;
public bool FirstNameErr;
public string LastName;
public bool LastNameErr;
}
}
更新
以下是我从互联网上下载的实际遗留ASP.NET网站项目的截屏。在这个实际应用中,相关课程为CCProcessor
。正如您在下面的屏幕截图中看到的那样,CCProcessor.cs
文件位于项目的根文件夹中,我在顶部声明using ...
语句,但屏幕截图中的工具提示仍在抱怨丢失指令或程序集。为什么?另一个类PaymentSettings
的错误也存在于项目的根文件夹中。 注意:要清楚地查看图片,您可能需要点击它才能在整个浏览器中查看。
答案 0 :(得分:0)
我认为您可能在不同的项目或程序集中使用clsTest类,并且可能无法在Web项目中正确引用。
尝试将clsTest类放在同一个文件中,它应该可以工作。
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)
{
....
}
....
....
}
public class clsTest
{
public bool Errors;
public string FirstName;
public bool FirstNameErr;
public string LastName;
public bool LastNameErr;
}
}
答案 1 :(得分:0)
将类.cs文件放在App_Code文件夹中。