Я думаю, что сообщение об ошибке является общим, и поэтому рассматривается для различных видов сбоев. Однако проблема, которую я описал, кажется, возникает для всех, а не только для меня, поэтому я сомневаюсь, что это связано с переменной LIB.

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

Обновить

Это - сейчасопубликовано как ошибка в Microsoft Connect.

Описание

Рассмотрим следующий класс:

class A 
{
    public object B {
        set { }
    }
}

Вот,A.B этотолько для записи но в остальном прекрасная собственность.
Теперь представьте, что мыназначить его внутри выражения:

Expression<Func<A>> expr = 
    () => new A {
        B = new object { }
    };

Этот код делает компилятор C # (оба3,5.30729.4926 и4,0.30319.1) выплюнуть

Внутренняя ошибка компилятора (0xc0000005 по адресу 013E213F): вероятный виновник - «BIND».

и сбой.

Тем не мение,просто заменив синтаксис инициализатора объекта ({ }) с помощью конструктора (( )) компилируется просто отлично.

Полный код для воспроизведения:
using System;
using System.Linq.Expressions;

class Test {
    public static void Main()
    {
        Expression<Func<A>> expr = 
            () => new A {
                B = new object { }
            };
    }
}

class A {
    public object B { set { } }
}

(И да, ясделал ударил его, работая над реальным проектом.)

Ответы на вопрос(2)

Ваш ответ на вопрос