c#编译器找不到dll;解决方案编译在VS2010

本文关键字:编译 VS2010 解决方案 编译器 找不到 dll | 更新日期: 2023-09-27 18:10:04

我有一个c#解决方案和一些参考dll。即使在visual studio(vs2010)中编译时,它似乎成功了,当使用c#编译器时,它失败了:显然缺少dll ..

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?)

有人知道为什么会这样吗?

c#编译器找不到dll;解决方案编译在VS2010

由于您没有给出代码,因此不清楚Attribute的类型是什么。如果是System.Attribute,我希望通过默认的汇编引用自动找到它。如果它是另一个程序集中的类型,则需要从命令行显式引用它:

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

CSC不知道包含test.cs的项目,也不知道该项目引用的任何库。

你必须使用/r开关来引用其他程序集。注意,这里有一个名为csc的文件。包含csc.exe的文件夹中的RSP,它指定默认的命令行开关。它包含了大多数常用的。net框架程序集,这就是为什么你不需要显式地引用mscorlib.dll,例如