以编程方式编译的加载程序集失败

时间:2015-11-26 14:01:44

标签: c# .net .net-assembly

我们尝试在运行时编译源代码,然后将生成的程序集添加到AppDomain。但是,即便加载程序集也失败了:

/proc/uptime

最后一行引发异常"未处理的类型' System.IO.FileLoadException'发生在mscorlib.dll"。我们不知道那里出了什么问题。我们尝试使用.Net Framework 2.0和4.5,使用AnyCPU,x64和x86编译此代码。总是同样的问题。有什么想法可以抛出这个异常吗?

2 个答案:

答案 0 :(得分:2)

您必须使用Assembly.LoadFrom方法从路径加载。它会抛出一个异常,建议不要这样做但是这个异常在内部被捕获并且程序成功。

答案 1 :(得分:0)

MSDN article你应该将程序集的长名称传递给Assembly.Load。例如:

string longName = "123, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089";
Assembly assem = Assembly.Load(longName);