如何将cs文件添加到现有C#项目?

时间:2009-05-23 14:33:44

标签: c# visual-studio-2008 file

前段时间我在Microsoft Visual C#2008 Express Edition中编写了一个小程序。其中包含一个名为“ProblemReport.cs”的文件,其中包含自己的表单和ProblemReport类。

我正在编写一个新程序,并希望重用此代码。 (仍在MS Vis C#2008快递中工作)

在我的新程序中,在C#Solution Explorer中,我右键单击了我的项目并选择了“Add existing item ...”然后我添加了ProblemReport.cs,ProblemReport.designer.cs和ProblemReport.resx。

我在这里错过了哪些步骤?当我回到我的新程序中的主窗体,并尝试实例化“ProblemReport”的新实例时,我收到错误消息:

“无法找到名称空间名称'ProblemReport'的类型(您是否缺少using指令或程序集引用?)”

显然 - 我应该做点其他事情让它发挥作用......只是不确定它是什么!

-Adeena

4 个答案:

答案 0 :(得分:9)

确保所有CS文件都在同一名称空间内。听起来像是进口产品不适合您的新项目。

确保:

namespace MyProgram //same as the rest of your project
{

    public class ProblemReport
    {
    }

}

同时在你的其他.cs文件....

namespace MyProgram 
{

     public class SomeClass
     {
           public void DoSomething()
           {
               ProblemReport. //you should get intellisense here.
           }
      }

}

答案 1 :(得分:4)

你可能最好将ProblemReport解压缩到它自己的类库(单独的dll)中,这样你就只有一个代码副本。

创建一个新的类库项目,将ProblemReport.cs,ProblemReport.designer.cs和ProblemReport.resx复制到该项目中,并根据需要更新名称空间。构建它并将dll置于中心位置。然后从两个程序中添加对此类库的引用。

答案 2 :(得分:2)

您必须在新项目中添加“使用”指令 -

using ProblemReport;

然后您应该能够访问ProblemReport类。当然,这取决于ProblemReport.cs文件的命名空间名称。

答案 3 :(得分:1)

创建它时,可能会使用不同的命名空间,因为默认情况下会从项目名称生成这些命名空间。

在.CS文件中,命名空间是否与项目其余部分匹配?