找不到类型或命名空间名称“Stack”(仅限.NET 4.0)

时间:2012-02-28 15:21:10

标签: c# .net .net-4.0

编译此程序时出错:

using System;
using System.Collections.Generic;

static class main {
    public static void Main() {
        Stack<int> a;
    }
};

使用此cmd:

C:\Users\tomc\Desktop\l>C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc test.cs

我收到此错误:

  

test.cs(12,3):错误CS0246:类型或命名空间名称“Stack”不可能           发现(您是否缺少using指令或程序集引用?)

然而,当使用此命令时,它构建正常: C:\Users\tomc\Desktop\l>C:\Windows\Microsoft.NET\Framework64\v3.5\csc test.cs

是否从.NET 4中删除了堆栈?我找不到它在MSDN上的任何迹象。

1 个答案:

答案 0 :(得分:4)

C#编译器有一个位于.NET Framework安装目录(c:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.rsp)中的默认“配置”文件(称为response file)。此响应文件只是一个文本文件,其中包含一组编译器命令行开关,这些开关在编译程序时默认传递。除了默认文件外,您还可以指定自己的文件(请参阅上面的链接)。

在您的情况下,此文件可能已丢失或损坏。您可以检查是否存在对核心库的引用。例如,这是我机器上的csc.rsp文件:

# This file contains command-line options that the C#
# command line compiler (CSC) will process as part
# of every compilation, unless the "/noconfig" option
# is specified. 

# Reference the common Framework libraries
/r:Accessibility.dll
/r:Microsoft.CSharp.dll
/r:System.Configuration.dll
/r:System.Configuration.Install.dll
/r:System.Core.dll
/r:System.Data.dll
/r:System.Data.DataSetExtensions.dll
/r:System.Data.Linq.dll
/r:System.Data.OracleClient.dll
/r:System.Deployment.dll
/r:System.Design.dll
/r:System.DirectoryServices.dll
/r:System.dll
/r:System.Drawing.Design.dll
/r:System.Drawing.dll
/r:System.EnterpriseServices.dll
/r:System.Management.dll
/r:System.Messaging.dll
/r:System.Runtime.Remoting.dll
/r:System.Runtime.Serialization.dll
/r:System.Runtime.Serialization.Formatters.Soap.dll
/r:System.Security.dll
/r:System.ServiceModel.dll
/r:System.ServiceModel.Web.dll
/r:System.ServiceProcess.dll
/r:System.Transactions.dll
/r:System.Web.dll
/r:System.Web.Extensions.Design.dll
/r:System.Web.Extensions.dll
/r:System.Web.Mobile.dll
/r:System.Web.RegularExpressions.dll
/r:System.Web.Services.dll
/r:System.Windows.Forms.Dll
/r:System.Workflow.Activities.dll
/r:System.Workflow.ComponentModel.dll
/r:System.Workflow.Runtime.dll
/r:System.Xml.dll
/r:System.Xml.Linq.dll