【发布时间】:2013-01-21 14:42:40
【问题描述】:
我对 C# 很陌生,并且创建了一个我想在我的主类中使用的类。这两个类在不同的文件中,但是当我尝试使用 using 将一个类导入另一个类时,cmd 说
找不到类型或命名空间名称“MyClass”(您是否缺少 using 指令或程序集引用?
我知道在 Java 中我必须使用 CLASSPATH 才能让这样的事情正常工作,但我不知道 C#。
其他细节:
您可能已经知道,我正在通过命令提示符编译和执行。我正在使用/target:library 编译我的非主类(我听说只有主类应该是.exe 文件)。
我的代码如下所示:
public class MyClass {
void stuff() {
}
}
和我的主要课程:
using System;
using MyClass;
public class MyMainClass {
static void Main() {
MyClass test = new MyClass();
/* Doesn't work */
}
}
我试图用namespace MyNamespace { } 包含我的非主类并导入它,但它也不起作用。
【问题讨论】:
-
在编译主类时,您确实将生成的库作为输入传递给编译器,对吧?此外,您应该能够将两个源文件一起传递给编译器 - 这里不需要库。
-
您是否将另一个文件(
MyClass所在的文件)添加到 Visual Studio 的解决方案中? -
@JensKloster 什么解决方案?什么视觉工作室?我没有使用 IDE,我使用的是命令提示符。
-
@Alex 我该怎么做? :o
-
为什么要从命令行编译?第一个类被编译成一个 DLL 文件。当您编译第二个程序集(使用
MyMainClass)时,您必须引用第一个程序集。如果您使用 Visual Studio 中的 C# 项目文件 (*.csproj),请右键单击“引用”、“添加引用...”,然后指向第一次编译中的 DLL。如果您不使用csproj-files,请使用/r compiler option。