Проблема в том, что компилятор видит целевой класс в текущем каталоге
Код: Выделить всё
CompilerParameters parameters = new CompilerParameters
{
GenerateExecutable = true,
IncludeDebugInformation = true,
GenerateInMemory = false,
TreatWarningsAsErrors = true,
WarningLevel = 3,
CompilerOptions = "/optimize",
OutputAssembly = "Output.exe",
};
CSharpCodeProvider codeProvider = new CSharpCodeProvider();
CompilerResults results = codeProvider.CompileAssemblyFromFile(parameters, new string[] { "../../../targetDirectory/targetClass.cs" });
var warnings = from e in results.Errors.Cast()
where e.IsWarning
select e;
var errors = from e in results.Errors.Cast()
where !e.IsWarning
select e;
foreach (var warning in warnings)
{
Console.WriteLine(warning);
}
Console.WriteLine("==========");
foreach (var error in errors)
{
Console.WriteLine(error);
}
Ошибка вывода: ошибка CS1504: Исходный файл
'c:\Users\User\Documents\Visual Studio
2017\Projects\CurrentDirectory\bin\Debug\targetClass.cs' не удалось
открыть («Системе не удалось найти указанный файл.')
Подробнее здесь: https://stackoverflow.com/questions/459 ... ct-c-sharp
Мобильная версия