У меня есть приложение, ссылающееся, скажем, на DLL 1 и DLL 2.
В приложении конечный пользователь может написать некоторый код для некоторых пользовательских функций.
Внутри моего приложения я компилирую его код, используя:
// User's code
string code = @" ** User's code ** ";
// Create the provider
CSharpCodeProvider provider = new CSharpCodeProvider();
// Create the parameters
CompilerParameters parameters = new CompilerParameters();
// Compile the user's code
CompilerResults results = provider.CompileAssemblyFromSource(parameters, code);
Перед компиляцией я хотел бы добавить некоторые ссылки, которые уже используются в моем приложении, это DLL 1 и DLL 2 (чтобы позволить пользователю использовать некоторые из моих функций).
Я пытался использовать GetExecutingAssembly, но он возвращает основную сборку приложения, и я не могу найти, как получить DLL 1 и DLL 2.
Assembly.GetExecutingAssembly
Я не знаю пути к DLL, поэтому следующая инструкция не будет работать:
parameters.ReferencedAssemblies.Add("C:\DLL1.dll");
Кто-нибудь знает, как решить эту проблему, пожалуйста?