Недавно мы обновили старый код CodeDomProvider до нового Roslyn CodeDomProvider под названием Microsoft.CodeDom.Providers.DotNetCompilerPlatform. Он отлично работает, но ищет csc.exe не в том месте. Пакет NuGet помещает ех в пути:CodeDomProvider.CompileAssemblyFromSource - не удается найти Roslyn (csc.exe)
[App Path] \ Bin \ Debug \ Рослины
Но, когда мы собираем, мы получаем эту ошибку: Не удалось найти часть пути ' [Путь приложения] \ bin \ Debug \ bin \ roslyn \ csc.exe '.
Обратите внимание, что он ищет EXE в неправильном месте. Он ищет его внутри папки «bin», которая уже находится в папке bin \ Debug. Итак, чтобы скомпилировать наш код, нам нужно переместить компилятор Roslyn на: [Путь к файлу] \ bin \ Debug \ bin \ roslyn \ csc.exe
Есть ли способ сообщить CodeDomProvider, где Компилятор Roslyn находится? Разве это не просто ошибка в коде компилятора Roslyn?
Ах да. Это взломанно, но похоже, что это может решить проблему. –