Как я могу использовать Roslyn в приложении ASP.NET MVC 5? - PullRequest
0 голосов
/ 23 февраля 2019

У меня есть приложение ASP.NET MVC 5 (точнее 5.2.7), предназначенное для .NET Framework 4.7.2.Я пытаюсь добавить функцию для правил проверки объектов.У меня есть куча условий, которые я преобразую в сценарий C #, который я хочу оценить с помощью CSharpScript.EvaluateAsync.

У меня есть прототип этой работы в LINQPad, и я пытался перенести его в основной проект.Поскольку основной проект разрабатывался на C # 5 в VS2013, я решил, что пришло время перейти на C # 7.3 и VS2017, и я сделал это.Очистив все после обновления, я решил реализовать прототип.

Сначала я добавил пакет NuGet Microsoft.CodeAnalysis.Scripting в основной проект, но когда я попытался запустить приложение, я получил все виды исключений.из того, что я предполагаю, были конфликты библиотек между MVC 5 и какими бы то ни было зависимостями пакетов.

Затем я вернулся и попытался создать отдельный проект, в котором должен быть код правил валидации.Когда я запустил приложение, оно загрузилось, и все выглядело нормально, пока я не попытался вызвать правило проверки.В этот момент он выдал исключение:

Не удалось загрузить файл или сборку 'Microsoft.CodeAnalysis.Scripting, Version = 2.10.0.0, Culture = нейтральный, PublicKeyToken = 31bf3856ad364e35' или одну из его зависимостей.Системе не удается найти указанный файл.

Вкратце я возвращаюсь к проблеме основного проекта, пытающегося загрузить пакет NuGet.

Итак, ..Могу ли я заставить их работать вместе или нет?Если нет, каковы мои следующие варианты, чтобы это сработало?Мигрировать на ASP.NET Core?Я собираюсь сделать это в будущем, просто пытаясь избежать этого прямо сейчас, потому что решение довольно велико, после 4 лет работы над ним ...

1 Ответ

0 голосов
/ 03 августа 2019

Альтернативный и правильный вариант - перейти на ASP.NET Core.Поскольку 3.0 не за горами, я, вероятно, сделаю это в то время.

...