C#编译器找不到DLL;在VS2010中编译的解决方案

C#编译器找不到DLL;在VS2010中编译的解决方案,c#,visual-studio-2010,c#-4.0,csc,C#,Visual Studio 2010,C# 4.0,Csc,我有一个C#解决方案和一些引用的dll-s。尽管在VisualStudio(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 o

我有一个C#解决方案和一些引用的dll-s。尽管在VisualStudio(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?)

有人知道为什么会发生这种情况吗?

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

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

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

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

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


必须使用/r开关才能引用其他程序集。请注意,在包含csc.exe的文件夹中有一个名为csc.rsp的文件,该文件指定了默认的命令行开关。这包含大多数常用的.NET framework程序集,这就是为什么您不必显式引用mscorlib.dll的原因。

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


必须使用/r开关才能引用其他程序集。请注意,在包含csc.exe的文件夹中有一个名为csc.rsp的文件,该文件指定了默认的命令行开关。这包含大多数常用的.NET framework程序集,因此您不必显式引用mscorlib.dll。

是否修改了默认响应文件?(csc.rsp.cfg或类似的东西)。如果这是一个简短的测试程序,你能给出代码吗?我假设您要查找的只是System.Attribute?@Jon Skeet这不是System.Attribute,粘贴到这里时我缩短了名称。.引用的文件是另一个dll,在作为工作文件之前测试。.我修改了响应文件。.不工作。.您修改了默认响应文件吗?(csc.rsp.cfg或类似的东西)。如果这是一个简短的测试程序,你能给出代码吗?我想您要查找的只是System.Attribute?@Jon Skeet这不是System.Attribute,我在粘贴时缩短了名称。引用的文件是另一个dll,之前测试为有效..我确实修改了响应文件..不起作用..@Leah:即使你已经让它起作用了,我也强烈建议不要使用已经存在于核心BCL名称空间中的类型名称。我会记住这一点…正如我之前所说..在这种情况下,粘贴错误时名称被缩短:)…现在可以了。谢谢。@Leah:即使你已经使用了它,我也强烈建议不要使用已经存在于核心BCL名称空间中的类型名称。我会记住这一点……正如我之前所说的……在这种情况下,粘贴错误时名称缩短了:)……现在可以使用了。谢谢…奇怪的是,一些被引用的DLL被识别了…但不是所有的…现在都起作用了…奇怪的是,一些被引用的DLL被识别了…但不是所有的…现在都起作用了