Ответы:
Он используется, когда / если вы используете dynamicключевое слово в вашем проекте. Сборка содержит компоновщик времени выполнения C #.
Компилятор C # по сути был извлечен в библиотеку, чтобы он мог генерировать, компилировать и запускать код, необходимый для поддержки dynamicключевого слова. При первом использовании dynamicв вашем коде эта сборка (а также System.dll, System.Core.dll и System.Dynamic.dll) будет загружена в ваш домен приложений.
dynamicнамного больше, чем сейчас (то есть никогда)?
using System.Linq;ко всем файлам. Это делает новые языковые функции немного более плавными. Если вы хотите использовать dynamic, это просто работает без усилий с вашей стороны.
Всегда удалял это до сих пор. Проблем пока нет.
<Reference Include="Microsoft.CSharp" /> в файле .csproj.