Метод с необязательными параметрами нормально проверяется в редакторе, но (иногда) завершается сбоем во время компиляцииC#

Место общения программистов C#
Ответить
Anonymous
 Метод с необязательными параметрами нормально проверяется в редакторе, но (иногда) завершается сбоем во время компиляции

Сообщение Anonymous »

У меня возникла проблема при компиляции этой строки кода:

Код: Выделить всё

var span = m_tracer.StartActiveSpan("FileTrace");
Что странно, эта точно такая же строка кода прекрасно компилируется в других проектах и ​​других решениях. (На самом деле, это ТОЧНО одна и та же строка кода, поскольку исходный файл, содержащий этот код, связан между несколькими разными проектами в разных решениях.)
Ошибка сборки, которая появляется только в вывод:

Код: Выделить всё

error CS1501: No overload for method 'StartActiveSpan' takes 1 arguments
Вот список ошибок; ошибок нет!
Изображение

А вот что странного в этом вызове метода. Это правда, что на двоичном уровне не существует перегрузки для этого метода, который принимает 1 аргумент. Однако все аргументы, кроме первого, являются необязательными, поэтому на уровне источника это допустимый вызов метода!
Изображение

На самом деле, если я удалю этот единственный параметр IntelliSense помечает синтаксис как недействительный.
Изображение

Если я верну параметр обратно, красная волнистая линия исчезнет. В общем, редактор доволен синтаксисом, но на этапе компиляции что-то идет не так. (Хотя, как упоминалось выше, эта строка кода прекрасно компилируется в других контекстах проектов и решений.)
Кто-нибудь когда-нибудь видел это и устранял первопричину? Спасибо за совет!

Подробнее здесь: https://stackoverflow.com/questions/785 ... etimes-fai
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»