我正在开发一个应用程序,我想加载exe文件(这是我的应用程序中的嵌入式资源文件),然后从该byte []数组加载Assembly并在主内存中运行它。 我已关注此Stack Overflow Question和此Article 但是我收到了这个错误。
Error: could not load file or assembly
这是我的代码:
try
{
using (FileStream fs = new FileStream(fileName, FileMode.Open))
{
BinaryReader br = new BinaryReader(fs);
byte[] bin = br.ReadBytes(Convert.ToInt32(fs.Length));
fs.Close();
br.Close();
Assembly a = Assembly.Load(bin);
MethodInfo method = a.EntryPoint;
if (method != null)
{
object o = a.CreateInstance(method.Name);
method.Invoke(o, null);
}
else
{
MessageBox.Show("No method found!");
}
}
}
catch (Exception ex)
{
MessageBox.Show("E^RR : " + ex.Message);
}
注意:嵌入式资源可以是任何设置文件,在这种情况下,我使用file_zilla设置作为嵌入式资源文件。
感谢任何帮助。
答案 0 :(得分:1)
可能有两个问题:
如果您尝试加载常规FileZilla设置,它不是.NET程序集(来自dotPeek的屏幕截图):
如果要运行本机可执行文件,请参阅您链接的问题的second answer。