编译参与者添加newtonsoft



i具有以下脚本,该脚本使用CSHARPCODEPROVIDER并添加必要的系统库。我陷入了需要在编译程序中包含newtonsoft.json.dll的情况。不幸的是,即使DLL位于bin文件夹中,我也得到了

Error (CS0006) Newtonsoft.Json.dll could not be found

任何想法对我和可能有同样问题的其他人都会有所帮助。

string code = Encoding.UTF8.GetString(Convert.FromBase64String(Code.code));
CSharpCodeProvider provider = new CSharpCodeProvider();
CompilerParameters parameters = new CompilerParameters();
parameters.GenerateInMemory = true;
parameters.GenerateExecutable = false;
parameters.ReferencedAssemblies.Add("System.Net.Http.dll");
parameters.ReferencedAssemblies.Add("Newtonsoft.Json.dll");
CompilerResults results = provider.CompileAssemblyFromSource(parameters, code);
if (results.Errors.HasErrors)
{
    StringBuilder sb = new StringBuilder();
    foreach (CompilerError error in results.Errors)
    {
        sb.AppendLine(String.Format("Error ({0}): {1}", error.ErrorNumber, error.ErrorText));
    }
    string badResult = sb.ToString();
    return badResult;
}

我认为Newtonsoft未在GAC中注册。

编译器说它找不到组件,所以您是否尝试过将其提供给Newtonsoft DLL的完整途径?

parameters.ReferencedAssemblies.Add(@"c:somepathNewtonsoft.Json.dll");

相关内容

  • 没有找到相关文章

最新更新