Скомпилируйте сборку из дома с отношением «многие к маю»

#c# #codedom #runtime-compilation

#c# #codedom #время выполнения-компиляция

Вопрос:

У меня есть два класса.

 public class Student{
    public List<Course> Courses {get;set;}      
}   
public class Course{
    public Student Student {get;set;}
}   
  

Мне нужно скомпилировать их каждую в отдельной сборке.
CompileAssemblyFromDom утверждает, что он не находит другой тип, и это имеет смысл, потому что эти классы зависят от цикла.
Есть ли какой-либо обходной путь для этого?

Спасибо.

Ответ №1:

Вы не можете размещать их в отдельных сборках; однако вы можете абстрагировать интерфейсы для классов и совместно использовать интерфейсы.

Чтобы ссылаться на одну сборку из другой при использовании CompileAssemblyFromDom, вам следует использовать свойство CompilerParameters.ReferencedAssemblies