#c_sharp #visual_studio #visual_studio_2010
Привет, Хэшкод! Сегодня натолкнулся на совершенно непонятную ошибку, возникающую при компиляции следующего кода. using System; public class Tree: IComparable > { public int CompareTo(Tuple other) { return 0; } } Ошибка при обработке сборки "Model.dll": Введенное число общих аргументов не соответствует арности определения общего типа. Имя параметра: instantiation Причём возникает она только в моём проекте. Этот же код в пустом проекте компилируется успешно. Так же замена Tuple на Tuple да и на множество других параметров тоже приводит к успешной компиляции.
Ответы
Ответ 1
Эта ошибка компиляции вызвана багом в фиче Private Accessors в Unit Test Project в старых версиях студии. Падает на стадии постпроцессинга сборки, при попытке сгенерировать аццессоры для приватных свойств класса Tree, или для классов, использующих Tree. Этот баг в connect - won't fix. Фича Private Accessors не поддерживается еще со времен 2010-й студии, так что если вы ее еще испльзуете - самое время пересмотреть архитектуру и перейти на моки для тестирования.
Комментариев нет:
Отправить комментарий