У меня есть CompileAssemblyFromSource, работающий с кодом, который ссылается только на сборки, которые использует моя программа (которая его компилирует).Работает красиво.
Однако, если мне нужно скомпилировать код, который имеет "using blah;"утверждение, что он не сможет найти бла и сказать, что отсутствует ресурс.
Так что, если это «System.Windows.Forms», и я говорю «compilerparams.ReferencedAssemblies.Add (» SystemWindows.Forms.dll ")", работает.
Таким образом, я могу разобрать файл кода и получить все параметры «using», но как мне узнать, что они должны быть «* .dll», или они являются пространствами имен в другом месте или еще чем-то?Есть ли способ для .NET взять «System.Windows.Forms» и выплюнуть «System.Windows.Forms.dll», потому что это то, что ему нужно и так далее?