Існує купа пов’язаних з цим питань , хоча більшість відповідей визначають 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.exe
in/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
змін рівня.