编译此程序时出错:
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上的任何迹象。
答案 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