我使用vs.net2005开发工具,语言是c#。程序关系如下:
  解决方案总体包含四个项目(在不同目录中Webs、Common、Bll、DA),分别是Webs在webroot下,其他位于非系统盘下。
  名字空间关系是:
  namespace solution.Webs{}
  namespace solution.DA{}
  namespace solution.Common{}
  namespace solution.BLL{}
 并且我已经设置好了依赖关系和在每个项目的中通过using 引用了相应的空间,但在using时系统提示没有该空间,但有的引用却可以通过。
using solution.DA;namespace solution.Webs
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataList dltTab;

private void Page_Load(object sender, System.EventArgs e)
{
} #region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{    
this.Load += new System.EventHandler(this.Page_Load);
this.Init += new System.EventHandler(this.top1_Init); }
#endregion private void top1_Init(object sender, System.EventArgs e)
{
string ID = Request.QueryString["id"];
DataTable Tabs = (new CatalogsDB()).GetTab(ID);
int count=Tabs.Rows.Count;
dltTab.Width=count*50;
dltTab.DataSource = Tabs;
dltTab.DataBind();
} private void dltTab_SelectedIndexChanged(object sender, System.EventArgs e)
{

}
}
}  运行结果是:
  c:\inetpub\wwwroot\Webs\top.aspx.cs(12): 类型或命名空间名称“DA”在类或命名空间“solution”中不存在(是否缺少程序集引用?)
  不知什么原因?
问题2:
   为什么例子程序中生成的dll文件是solution.DA.dll、solution.Common.dll等这种形式,而我的却只能生成DA.dll和Common.dll呢?
  首先谢谢了

解决方案 »

  1.   

    在DA项目-属性-默认命名空间里:solution.DA,其他项目依次类推。
    然后引用应该就可以了。
      

  2.   

    你的每个namespace都是父名称空间么?
      

  3.   

    还是不行!
    我的父名字空间是solution,DA BLL...都是子空间
      

  4.   

    vs.net2005 目前是beta版
    不是很稳定
      

  5.   

    如果我重新定义该找不到的名字空间solution.DA,系统说已经定义;我将名字空间的定义和使用移到同一个文件,则没有问题,奇怪!
      

  6.   

    可惜我这用的是2003,没法测试一下。
    如果遇到visual studio.net出现奇怪情况时,就关掉项目,重新打开看看。
      

  7.   

    两个版本应该没有什么差别吧,内部开发环境还是2003,framework还是1.1