Эталонные сборки, импортированные NuGet в компилятор Dynami c - PullRequest
0 голосов
/ 06 марта 2020

У меня есть некоторый код C#, который принимает скрипт, написанный на C#, сам и выполняет скрипт динамически. Я могу использовать встроенные библиотеки, ссылаясь на их сборки, как показано ниже.

CSharpCodeProvider provider = new CSharpCodeProvider();
CompilerParameters cp = new CompilerParameters();
cp.ReferencedAssemblies.Add("System.Data.dll")
cp.ReferencedAssemblies.Add("System.dll");
cp.ReferencedAssemblies.Add("System.Xml.dll");
cp.ReferencedAssemblies.Add("System.Linq.dll");
cp.ReferencedAssemblies.Add("System.Xml.Linq.dll");
cp.ReferencedAssemblies.Add("System.Core.dll");
cp.ReferencedAssemblies.Add("System.Net.Http.dll");
...
options.GenerateExecutable = false;
options.GenerateInMemory = true;
CompilerResults results = provider.CompileAssemblyFromSource(options, "<SCRIPT-SOURCE-HERE>");

Однако при попытке добавить дополнительную библиотеку, которая не является частью. NET Framework, с которым я сталкиваюсь проблемы. Здесь я добавил библиотеку RestSharp в проект через NuGet и могу подтвердить, что RestSharp.dll находится в каталоге bin проекта.

options.ReferencedAssemblies.Add("RestSharp.dll");

Я добавляю это в сценарий, который пытаюсь скомпилировать ...

using RestSharp;

Однако при попытке скомпилировать сценарий, использующий библиотеку RestSharp, я получаю ошибка ...

Metadata file 'RestSharp.dll' could not be found

Как лучше всего ссылаться на сборку RestSharp?

...