NAnt<脚本>类型或命名空间名称“Linq”;命名空间“System”中不存在脚本>
我们使用 NAnt 构建 .NET 4.0 解决方案。我们的 .build 脚本之一在块内有内联 C#。除了我自己的新机器之外,这在所有机器上都运行良好。我安装了带有 .NET 4.0 客户端配置文件和扩展框架的 Visual Studio 2010。不安装早期的.NET 版本。
执行脚本时编译失败,命名空间名称“Linq”在命名空间名称“System”中不存在。我已检查 NAnt.exe.config 并使用了以下框架元素:
<framework
name="net-4.0"
family="net"
version="4.0"
description="Microsoft .NET Framework 4.0 Release"
runtimeengine=""
sdkdirectory="${path::combine(sdkInstallRoot, 'bin')}"
frameworkdirectory="${path::combine(installRoot, 'v4.0.30319')}"
frameworkassemblydirectory="${path::combine(installRoot, 'v4.0.30319')}"
clrversion="4.0.30319"
>
这与我安装的框架版本正确匹配。我的问题是,鉴于 NAnt 必须使用 .NET 4.0,它怎么可能找不到 System.Linq? NAnt 版本是 0.85。
任何帮助这里表示赞赏。 迈克尔
We use NAnt to build our .NET 4.0 solution. One of our .build scripts has inline C# within a block. This is working fine on all machines except my own which is new. I have Visual Studio 2010 with the .NET 4.0 Client Profile and the Extended Framework installed. Earlier .NET versions are not installed.
When executing the script compilation fails with The namespace name 'Linq' does not exist in the namespace name 'System'. I have checked the NAnt.exe.config and the following framework element IS being used:
<framework
name="net-4.0"
family="net"
version="4.0"
description="Microsoft .NET Framework 4.0 Release"
runtimeengine=""
sdkdirectory="${path::combine(sdkInstallRoot, 'bin')}"
frameworkdirectory="${path::combine(installRoot, 'v4.0.30319')}"
frameworkassemblydirectory="${path::combine(installRoot, 'v4.0.30319')}"
clrversion="4.0.30319"
>
This matches correctly the version of the framework I have installed. My question is, how can NAnt be not finding System.Linq given that it must be using .NET 4.0? The NAnt version is 0.85.
Any help here appreciated.
Michael
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论