Исправить исключение NullReferenceException можно с помощью Null-условных операторов в c # 6 и написать меньше кода для обработки нулевых проверок.
Он используется для проверки нуля до выполнения доступа к члену (?. ) или index (? [).
Пример
var name = p?.Spouse?.FirstName;
эквивалентен:
if (p != null)
{
if (p.Spouse != null)
{
name = p.Spouse.FirstName;
}
}
В результате имя будет нулевым когда p равно null или когда p.Spouse имеет значение null.
В противном случае имени переменной будет присвоено значение p.Spouse.FirstName.
Для получения дополнительной информации: Операторы с нулевым условием
Вам нужно будет добавить папку, содержащую файл «cl.exe», в переменную среды пути. Например:
C:\Program Files\Microsoft Visual Studio 10.0\VC\bin
Изменить: Хорошо, перейдите в «Мой компьютер» -> «Свойства» -> «Расширенные настройки системы» -> «Переменные среды». Здесь найдите «PATH» в списке и добавьте путь выше (или что-то еще, где находится ваш cl.exe).
cl.exe
- компилятор Microsoft C / C ++. Поэтому проблема заключается в том, что у вас нет того, что установлено там, где может найти его.
Я вижу, что это старый вопрос, но я недавно получил эту ошибку в своей Visual Studio 2012, когда попытался построить мой проект CUDA. По-видимому, я изменил свой проект CUDA на пакет Nov 2012, заменив его обратно на v110, который, как правило, по умолчанию фиксировал эту ошибку.
В Visual Studio щелкните левой кнопкой мыши по проекту CUDA, -> properties-> Configuration Properties-> General -> Platform toolet и выберите: Visual Studio 2012 (v110).
Я мог бы, вероятно, заставить его работать с пакетом Nov 2012, но код CUDA не использует никаких дополнительных функций этого пакета, поэтому он не нужен. (Этот пакет содержит вариационные шаблоны для C ++ 11.)
Решите эту проблему, добавив эти параметры в nvcc
nvcc x.cu ... -ccbin "D:\Program Files\Microsoft Visual Studio 11.0\VC\bin"
, например, мой компилятор - VS2012. и cl.exe находится в этом каталоге
nvcc является только интерфейсом для конкретной части программы CUDA. Он должен вызывать полный компилятор для завершения задания. В этом случае он не может найти компилятор Visual Studio компилятора cl.exe
, документацию nvcc и т. Д.