在WCF服务应用程序中找不到类型或命名空间名称“var”

当我尝试在WCF服务应用程序中使用“var”时,它给出错误“找不到类型或命名空间名称’var’(您是否缺少using指令或程序集引用?)”

如果您尝试在类成员中使用var ,则会出现此错误,例如:

 public class Foo { var a = 4; } 

var只能在方法中使用,而不能在类,字段或方法签名中使用。

另请参阅: 为什么字段上没有var?

我想是因为你在c#4.0之前定位了一个框架。 尝试转到项目属性并将目标框架设置为4.0

对于我的ASP.NET 3.5项目,我必须确保在我的web.config文件中安装了3.5框架编译器,如:

         

我在这里做了一个疯狂的猜测, 但是var可能只用于局部变量带(在方法内)。

您是否使用它来定义实例变量?

您应该确保,您正在为.NET 3.5或更高版本构建服务。 之前不支持“var”关键字。

也许你不小心从你不期望的目录中调用了csc.exe ? 我通过使用完整路径运行csc.exe解决了这个问题:

 set csc=c:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe %csc% try.cs rem This was wrong: set path=%path%;c:\Windows\Microsoft.NET\Framework\v4.0.30319 csc.exe rem This shows csc version, which turned out to be from Framework 2.0.