C # Версия: 7.2
My Ms Build version: Unknown (если кто-нибудь может сказать мне, как найти его на моей машине, пожалуйста, сделайте)
Моя версия Visual Studio: Visual Studio Professional 2019
Я собираюсь свести это к минимуму, так что не обращайте внимания на простоту кода.
public bool IsNull<T>(T thing)
{
return thing is null;
}
В Visual Studio 2019 это нормально и компилируется.
Я могу назвать это так
IsNull(0); //thats an int
и он компилирует и возвращает false, поскольку целые числа никогда не равны нулю Я счастлив, и все хорошо.
Однако мой сервер сборки не устраивает. Он использует MSBuild v15.5.180.51428 и выдает ошибку компилятора, говорящую
ошибка CS0403: Невозможно преобразовать значение NULL в параметр типа 'TValue', поскольку это может быть тип значения, который не может быть равен нулю. Попробуйте использовать 'default (TValue)'
Это также происходит на компьютере коллеги, использующем VS2017
Задокументировано ли это исправление / изменение. В какой версии MSBuild она доступна?
Спасибо