Создание проекта "WAP-сайт" (без `.csproj`) с Roslyn - не поддерживается MSBuildWorkspace - PullRequest
0 голосов
/ 19 сентября 2019

У нас есть инструмент статического анализа на основе Roslyn.Чтобы построить проект C #, используя файл .sln или .csproj, мы используем MSBuildWorkspace.В этом сценарии все работает хорошо.

Недавно я наткнулся на проект веб-сайта старого типа , который не содержит .csproj - страницы компилируются сервером по требованию (если только предварительно скомпилировано ).Неудивительно, что MSBuildWorkspace не поддерживает такие «безпроектные» проекты, что подтверждается пунктом 2 в этом ответе .

Теперь сложность состоит в том, чтобы снабдить сборкунеобходимые зависимости / сборки.Чтобы справиться с таким случаем использования, наш инструмент статического анализа предлагает флаг типа -I path/to/dll, чтобы пользователи могли указывать каталоги, где искать эти библиотеки DLL, и я создаю для них MetadataRereferences.Хотя этот подход работает, он не обеспечивает наилучшего пользовательского опыта, поскольку пользователь не всегда является разработчиком и может не знать все местоположения / детали.

Я хотел бы спросить, кто-либоизвестно об альтернативном подходе к созданию проектов без веб-сайтов, где мы могли бы «проинструктировать» / настроить Roslyn, чтобы имитировать процесс, выполняемый настоящим веб-сервером для компиляции aspx.cs файлов?

Спасибо!

...