Існує купа пов’язаних з цим питань , хоча більшість відповідей визначають Roslyn та / або надають «виправлення» певної проблеми ( exeіз хостинг-провайдерами тощо)
Що я, здається, не можу відстежити, це "чому" і "для чого" (можливо, лише в контексті ASP.Net MVC / Web API) в /bin/roslyn.
Я стикався з подібними проблемами (хостинг - .exeобмеження, підтримка 4.6тощо), і моїм "виправленням" було "просто розгорнути в Azure" (звичайно, все працює без затримок). Але насправді це не відповідає:
навіщо вони потрібні?- чи означає це, що вони використовуються для
runtimeкомпіляції(мій мозок вказує на це, але це цілковита здогадка / мій, можливо, неправильний грок), як показує ця публікація SO- якщо це не виправлено, це "це" (докладніше нижче). - здається, "видалення пакету" є "виправленням" (на основі деяких минулих відповідей) ,
але якщо так, то (повторно) виникає питання
Я думаю, що розуміння цього допоможе - наприклад, я не можу бути єдиним, хто підніме брову, бачачи .exe"потрібного" ....
Оновлення
Має на меті показати, що існують "приховані дорогоцінні камені" :) Я читав це знову і знову ... зрештою, це вже деякий час - але не нитка коментарів - оригінальне посилання, яке було посиланням, близько 2014 року Microsoft і коментарі більше не відображаються ... на щастя, відповідні частини наведені нижче.
ВЕЛИКА помилка - вона дивилася на мене весь цей час (або принаймні з цього обміну):
Дмитро Дзигін 2 червня 2015 00:53
Я спробував останню версію пакета NuGet, але, схоже, є різниця в способі завантаження / виконання компілятора.
У версії v0.2.0.0 компілятор Roslyn буде завантажений в пам'ять, що значно покращить продуктивність для попередньо скомпільованих веб-сайтів із декількома файлами * .as * x / *. Cshtml. Однак нова версія містить новий
/bin/roslyn/csc.exeфайл, який виконується один раз на файл, повністю видаляючи згадану вище функцію оптимізації .....
Золото:
XMao 2 червня 2015 р. 13:22
@Dmitry Завданням
csc.exein/bin/Roslynє викликVBCSCompiler.exeфайлу, який знаходиться в одній папці.VBCSCompiler.exeце процес, який виконує фактичну роботу з компіляції. Якщо VBCSCompiler вже працює, csc.exe буде використовувати його повторно, і, отже, ми все одно отримаємо згадане покращення продуктивності.
Hth ...
Оновлення: 10/2017
Здається, це актуально після всього цього часу, тому подальше оновлення.
Відповідь знизу @Donny V є варіантом . Повною компіляцією вашої програми, включаючи всі Views( .cshtml/ .vbhtml), вам це не знадобиться exe.
Це вірно, навіть якщо Visual Studio (на сьогоднішній день, VS 2017, заплутано) все одно створить /bin/roslynі його вміст у Publishпроцесі, навіть якщо встановлено "повне компілювання" .
Ви можете перевірити це, за винятком в /bin/roslynпапці і його вміст при натисканні додатки на ваш хостинг - провайдер.
Застереження :
Як вже згадувалося, повна компіляція програми означає, що вам доведеться перекомпілювати її навіть для Viewзмін рівня.