2011-09-29 72 views
1

我有一个C#解决方案和一些引用的dll-s。即使在Visual Studio编译(VS2010),当它表现为它成功,使用C#编译器失败时:显然缺少DLL ..C#编译器找不到dll;在VS2010中编译的解决方案

csc /t:library /out:test.dll test.cs 


test.cs(22,10): error CS0246: The type or namespace name 
    'Attribute' could not be found (are you missing a using directive 
    or an assembly reference?) 

有谁知道为什么会出现这种情况?

+0

您修改缺省响应文件? (csc.rsp.cfg或类似的东西)。如果这是一个简短的测试程序,您可以提供代码吗?我认为这只是你试图找到的System.Attribute? –

+0

@乔恩飞碟双向它不是system.attribute,粘贴时引用here..the文件被另一个DLL,之前因为working..and我做了修改响应file..not测试工作我已经缩短了名字.. – agatha

回答

4

由于您没有提供的代码,目前还不清楚是什么类型Attribute是命中注定的。如果它是System.Attribute,我希望可以通过默认的程序集引用自动找到它。如果是在其他程序集的类型,你需要在命令行中明确地引用它:

csc /t:library /out:test.dll /r:OtherAssembly.dll test.cs 
+0

我现在要指定命令行... – agatha

+0

@Leah丢失的dll:即使你已经得到了它的工作,我会强烈建议不要使用类型名称,其已经在核心BCL命名空间。 –

+0

我会牢记......正如我之前所说的那样。在这种情况下,粘贴错误时名称缩短了:) ..现在可以工作。谢谢。 – agatha

2

CSC一无所知含test.cs中的项目,也没有哪该项目被引用的库。

你必须以引用其他组件使用/ R开关。请注意,包含csc.exe的文件夹中有一个名为csc.rsp的文件,该文件指定了默认命令行开关。这包含了大多数通常的.NET框架程序集,这就是为什么您不必明确引用mscorlib.dll的原因。

+0

..很遗憾,一些被引用的dll被识别出来了......但并非所有的......虽然 – agatha

相关问题