今天用VS2010写了一个类库,然后把它生成为一个dll组件。但是我在其他解决方案里面引用了这个组件之后,写了using语句之后却一直提示错误,未能找到命名空间或类型。后来我有重新生成了几次,又重新引用,结果还是一样

解决方案 »

  1.   

    首先要保证你正确生成了dll组件      你是在web服务器控件下开发的吗
     如果你是在web-asp.net服务器控件中开发的 生成通过后  VS2010会把生成成功的组件自动加载到同一解决方案项目的工具栏中
    其次 你说你引用了这个组件?   你确定引用好了  一般引用进去了   using 是可以出来的     
    你再仔细检查下看看
      

  2.   

    你这个问题可能是:
    编写DLL的组件是(.NET Netframework 4) 右击项目属性-应用程序引用DLL的项目是(.NET Netframework 4 Client Profile) 右击项目属性-应用程序,把两个改成一样就可以了.
    NET Netframework 4比.NET Netframework 4 Client Profile大
      

  3.   


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Data;
    using System.Data.SqlClient;
    using System.Data.Sql;namespace TP_Client
    {
        class TransferParameters_Client
        {
            public DataTable TPC_Obj(object[,] param)
            {
                int col_num = param.GetLength(0);
                string[] col_name = new string[col_num];
                int row_num = param.GetLength(1);
                DataTable dt_CanShu = new DataTable();
                for (int i = 0; i < col_num; i++)
                {
                    if (param[i, 0] == null)
                    {
                        continue;
                    }
                    else
                    {
                        col_name[i] = Convert.ToString(param[i, 0]);
                    }
                }
                for (int i = 0; i < col_num; i++)
                {
                    if (param[i, 0] == null)
                    {
                        continue;
                    }
                    else
                    {
                        dt_CanShu.Columns.Add(col_name[i], System.Type.GetType("System.Object"));
                    }
                }
                for (int j = 1; j < row_num; j++)
                {
                    DataRow dr = dt_CanShu.NewRow();
                    for (int k = 0; k < col_num; k++)
                    {
                        if (param[k, 1] == null)
                        {
                            continue;
                        }
                        else
                        {
                            dr[col_name[k]] = param[k, 1];
                        }
                    }
                    dt_CanShu.Rows.Add(dr);
                }
                return dt_CanShu;
            }
        }
    }以上是这个组件的源代码,
    不是用asp.net写的,我检查过生成方法了,应该没错,因为我之前也用过同样地方法成功生成并可引用组件
    还有回复4楼,我按你的说法来做了,重新生成组件后还是这个问题
      

  4.   

    LZ应该是 命名空间的问题
    dll和你引用的地方有可能不在同一命名空间还有出现LZ类似的错误的原因:
    没有在项目的引用中添加dll所在的类名
      

  5.   

    回复6楼
    我在项目的引用中添加dll所在的类库名,也就是(TP_Client)
    至于“dll和你引用的地方有可能不在同一命名空间”不太懂?可以详细指点一下吗?
      

  6.   


    class TransferParameters_Client改为:
    public class TransferParameters_Client