2016-07-11 3 views

ответ

1

Имеет ли csc.exe с другим кодом?

Возможно, вы обнаружили ошибку в компиляторе, которая вызывает ее при сбое при попытке скомпилировать вашу конкретную программу. Чтобы убедиться, что это так, создайте новый проект «Консольное приложение» с помощью Visual Studio (VS) и посмотрите, выполняется ли компиляция и запуск приложения по умолчанию в шаблоне. Если это сработает, тогда ваш код может вызвать сбой csc.exe. Если это не сработает, установка VS может быть полностью нарушена, и в этом случае я рекомендовал бы удалить и переустановить VS (но вы уже пробовали это). Если вы не можете заставить VS запускать даже простые программы на вашем компьютере, вам нужно попытаться найти причину сбоя и посмотреть, можно ли это исправить вручную. Если ваша система достаточно перепутана, и вам не стоит отслеживать исправление, вы можете переустановить Windows (используя the “Reset” feature).

Еще одна вещь, которую стоит попробовать - запустить код на другом компьютере с установленным VS. Это может помочь определить, является ли проблема вашим кодом, вызывающим ошибку компилятора, и ваш компьютер запутался.

Если csc.exe сбой только для вашего кода, то это ошибка в csc.exe. Если с вашим кодом возникла проблема, csc.exe должен генерировать приятную ошибку, объясняющую проблему с вашим кодом вместо сбоя.

Возможно также, что ваш код действителен, но ошибка компилятора вызывает ошибку csc.exe. Примером этого (с VS 2017 и csharp7) является roslyn#19182. Если это так, вы можете попробовать использовать обратную связь VS (кнопка frowny face/feedback в верхнем правом углу), чтобы сообщить о проблеме, чтобы разработчики VS знали об этом. Кроме того, вы могли бы совать свой код, пока VS не начнет успешно работать. Если это проблема, может быть трудно угадать , почемуcsc.exe рушится, но, если можно, попытайтесь изолировать проблему. Например, если csc.exe работает нормально, прежде чем вы внесли некоторые изменения в свой код, просмотрите сделанные вами изменения и посмотрите, приведет ли их отменить их в csc.exe, которые успешно выполняются успешно. Затем попробуйте сделать новый минимальный реестр, который вызывает csc.exe, чтобы сбой и отправить его в качестве обратной связи с помощью механизма обратной связи VS или сообщая об ошибке в отношении roslyn project. Вы также можете указать ask a new question here о том, почему этот код вызывает ошибку csc.exe. С конкретным кодом люди могут угадать, почему csc.exe не может справиться с этим и предложить обходные пути для использования, ожидая, когда команда VS выпустит исправление.

Как бы то ни было, у вашего вопроса недостаточно информации, чтобы угадать, почему csc.exe рушился для вас. Надеюсь, этот ответ дает некоторые рекомендации о том, какие шаги вам следует предпринять, если вы когда-нибудь окажетесь в такой ситуации.

Смежные вопросы