Я использую NAnt и CCNet на нашем сервере сборки. В последнее время, когда я занимаюсь локальным развертыванием, я получаю ошибки сборки, которые, похоже, связаны с Linq, обобщениями и делегатами.
Вот результат:
[nant] C:\Test\buildfiles\build.build
Buildfile: ..........
Target framework: Microsoft .NET Framework 3.5
Target(s) specified: build
build:
[csc] Compiling 192 files to 'C:\TEST\bin'.
[resgen] Read in 78 resources from 'C:\Test\Resources'.
[csc] c:\Test\src\randomfile.cs<10,10>: error CS0411: The type arguments for method 'System.Linq.Enumerable.Select<TSource,TResult><System.Collections.Generic.IEnumerable<TSource>, System.Func<TSource,TResult>>' cannot be inferred from the usage. Try specifying the type arguments explicitly
На моей машине я могу собрать без проблем (vs2010). Я использую последнюю версию NAnt 0.91b.
Обновление:
Проект имеет целевую структуру 3.5.
Ниже приведен код, который генерирует ошибку (раздел возврата в первом методе):
public static RoleTypeIdAndName[] TranslateRoleTypes(RoleType[] roleTypes)
{
return roleTypes.Select(TranslateRoleType).ToArray();
}
public static RoleTypeIdAndName TranslateRoleType(RoleType roleType)
{
return new RoleTypeIdAndName
{
Name = roleType.Name,
RoleTypeId = roleType.RoleTypeId
};
}