MSBuild и error CS0121:
От: mDmitriy Россия  
Дата: 20.09.16 11:09
Оценка:
Всем привет!

Есть примерно вот такой код:
public class MyClass{ ... }
public static class MyStatic
{
    public static MyClass MyMethod<T>(this T obj, int condition) { ... }
    public static MyClass MyMethod<T>(this T[] objs, int condition) { ... }
}

И, соответственно, вызов:
Guid guid = Guid.NewGuid();
guid.MyMethod(2); 
...
int[] array = {1,2,3};
array.MyMethod(5);

Вызовов много от разных объектов, как от скалярных, так и от массивов
Всё это часть кода некоего сервиса, написано давно и так же давно работает

Но вот решили мы последовать фэншую и генерить продукт скриптом через MSBuild — ну и посыпалось:

MyCode.cs(59,45): error CS0121: Неоднозначный вызов следующих методов или свойств:
"MyMethod<string[]>(string[], int)"
и
"MyMethod<string[]>(string, int)"

Ну и далее для массивов (только!) других типов (int, Guid)

Вопрос, собственно, в следующем — откуда это взялось (при билдинге из-под студии даже в ворнингах ничего похожего не наблюдается)?
Как это победить в MSBuild?

VS 2015, 4.5.1 x64

Спасибо...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.