- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试加载一个混合的托管/ native dll,我为 32 位和 64 位编译了它。如果我在 Windows 7 32 位上运行我的程序,我可以毫无问题地加载 32 位 dll。如果我加载 64 位 dll,我会得到 BadImageFormatException,这正是我所期望的。
我遇到的问题是当我在 Windows 7 64 位下做同样的测试时:
如果我加载 32 位 dll,我会得到 BadImageFormatException。到目前为止没问题。
但是如果我加载 64 位 dll,我会得到 FileNotFoundException。而这个信息是不正确的,因为我事先检查了这个dll的存在!
谁能告诉我,为什么我不能在 Windows 7 64 位下加载我的 64 位 dll?
这是我的示例代码:
private void Button32_Click(object sender, RoutedEventArgs e)
{
string path = System.IO.Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, "x86", "Native.dll");
LoadAssembly(path);
}
private void Button64_Click(object sender, RoutedEventArgs e)
{
string path = System.IO.Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, "amd64", "Native.dll");
LoadAssembly(path);
}
void LoadAssembly(string path)
{
if(File.Exists(path))
{
MessageBox.Show("Loading " + path);
Assembly asm = null;
try
{
asm = Assembly.LoadFile(path);
}
catch(Exception ex)
{
MessageBox.Show("Exception!!!\n" + ex);
}
MessageBox.Show("Success " + (asm == null ? "no" : "yes"));
}
}
最佳答案
您应该尝试了解无法加载哪个程序集,因为您尝试加载的程序集可能包含无法找到的引用。或存在引用,但适用于 32 位,而不是 64 位版本
尝试使用Fusion log确切知道缺少哪个程序集
关于c# - Windows 7 64 位上带有 Assembly.LoadFile 的 FileNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10085120/
在 Lua 中,我如何使用 loadfile() 加载一个函数,例如 function test() print('test') end 然后按名字执行?例如,如果我 loadfile() 然后执行
我正在尝试使用 Ant 任务 在循环中解析文件的内容。我有类似的东西 由于 Ant 属性是不可变的,这对我不起作用。我需要“my.property”在每次迭代时更新。有办法实现这一点吗?我知道 An
我正在尝试使用 mariadb 上的 loadfile 加载 CSV 文件 这是我的加载文件 LOAD DATA INFILE '/usr/src/salary.TXT' INTO TABLE sal
在我的应用程序中,我允许用户查看他们所有的保管箱文件,他们可以将文件导入保管箱或将它们下载到应用程序中。我查看了 Dropbox 的网站,但找不到有关取消上传/下载的任何内容。我有一些取消保管箱文件传
这里有奇怪的问题。我有一个通过 C++ 应用程序中的 dofile() 执行的 Lua 脚本('human.lua')。 我尝试在第一行以非常标准的方式加载另一个 AI 脚本文件: behavior_
我写了一个包装器类,它使用反射加载其他程序集。 Wrapper.dll 也被进程通过反射加载,下面是解释场景的图表。 Process.exe |___Loads__ Wrapper
情况是这样的: 我有一个名为 Lib1.dll 的程序集。出于某种原因(与问题无关)我不得不将程序集文件名重命名为 Lib1New.dll,现在在尝试使用 Assembly.LoadFile 加载重命
1.loadfile只编译,不运行 loadfile(filename, mode, env) 用于加载一个指定路径filename的代码块,参数如下: 基本和load等同,区别是用来加载一个文件的代
我正在尝试从大量 xml 中创建对象树。但是,当我在大约 2000 个 xml 文件(范围从 100KB 到 200MB)上运行以下代码时(请注意,我已经注释掉了创建对象树的代码),我得到了 8-9G
我制作了一个使用 AxAcroPDF 控件的 Windows 客户端应用程序 在表单上显示 pdf 文件。 在我看来,在我将 Acrobat 阅读器从版本 8 升级到版本 9 后,LoadFile 方
这是我的场景: 我有三个项目:两个 DLL 和一个控制台应用程序,我们将它们命名为 foo.dll、bar.dll 和 console.exe。 Console.exe 使用 Assembly.Loa
我开始用 C 语言编程,并且正在编写一个将用户添加到文件中的程序。 我已成功将用户添加到文件中,并且我可以在程序仍在运行时查看已添加的用户。 但是当我关闭程序并再次打开时,如果我按查看用户,它不会显示
我想自动填写 PDF 表单。 所以我在VS2013中创建了一个WinForms项目,添加了Adobe PDF Reader控件,将控件拖到窗体上。 没有错误。控件显示在窗体上。 但是当我尝试输入时在表
我正在尝试使用 LoadFile 方法将 .xpm 类型的图像文件加载到 wxBitmap 对象中。以下调用失败 wxBitmap aBitmap; aBitmap.LoadFile(strIconP
似乎有多种方法可以从另一个文件访问一个文件。为什么我会选择一种方法而不是另一种? local a = loadfile('foo.lua')() local b = require 'foo.lua'
在我的Electron设置中,应用加载后,我会显示一个基于Web的登录屏幕。它位于可填充应用程序屏幕空间的BrowserView中。通过这种方法,我可以为登录页面禁用nodeIntegration(因
异常(exception)情况是: 模块应该包含程序集 list 。 (HRESULT 异常:0x80131018) 我在行中得到它: Assembly lvAssembly = Assembly.L
我正在通过 System.Reflection.Assembly.LoadFile 加载 DLL 并在插件式系统中反射(reflect)它的成员。我需要能够在系统运行时更新/覆盖这些DLL,但似乎在调
我正在查看 msdn 文档,但对于加载程序集时使用 LoadFile 和 LoadFrom 之间的确切区别仍然有点困惑。有人可以提供一个例子或类比来更好地描述它。 MSDN 文档让我更加困惑。另外,R
我正在尝试使用新版本的 libyaml-cpp 并遇到链接器问题 ( undefined reference to 'YAML::LoadFile(std::basic_string, std::al
我是一名优秀的程序员,十分优秀!