【发布时间】:2011-07-25 19:21:50
【问题描述】:
在从命令行编译最近的一些更改时,我们在构建服务器上遇到了一个有趣的错误:
c:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe
错误 CS0246:找不到类型或命名空间名称“var”(您是否缺少 using 指令或程序集引用?)
有问题的代码:
var response = _producerErrors.CreateTextMessage();
_producerErrors 是 IMessageProducer 的类型,来自 Apache.NMSresponse 是 ITextMessage 的类型
请注意,它从 Visual Studio 成功编译,我可以从命令行本地重现错误,我认为这排除了构建服务器的配置问题。
修复当然是微不足道的,但它让我很难理解为什么编译只是从 MSBuild 命令行失败?有问题的项目还有其他 var 正在使用的关键字正在编译,所以我怀疑它可能与 Apache 程序集有关,但是什么?
【问题讨论】:
-
您能描述一下您是如何解决这个问题的吗?
-
修复将类型推断,
var关键字替换为实际类型ITextMessage。 -
哦,微不足道。在不接触代码的情况下寻找更好的解决方案。无论如何,谢谢你的回答:)
-
是的,微不足道的修复 ;-) 但对于类型推断失败的原因仍然是个谜。
标签: c# c#-3.0 type-inference apache-nms