如何运行x64调试模式DLL是“任何CPU”?

时间:2013-02-07 14:52:24

标签: c# wpf visual-studio-2010 dll platform-independent

我将DLL编译为“任何CPU”,因此它们可以在x86和x64中运行,但是当我尝试在调试模式(x64)中运行时,它在尝试运行项目时一直告诉我错误:无法加载文件或程序集“项目”或其依赖项之一。试图加载格式不正确的程序。

但是,当我运行我从Debug目录创建的* .exe或在没有调试的Visual Studio中运行它时,它运行正常,如果我在x86调试模式下运行它也可以。除了Visual Studio中的调试模式之外,为什么它可以工作?

该应用程序是桌面应用程序,因此没有IIS应用程序池可以更改为32位。

2 个答案:

答案 0 :(得分:0)

我注意到,有时当您更改配置时,它不会更改所有项目。如果你去Build> x64配置中的配置管理器是否都设置为构建x64版本的项目?

答案 1 :(得分:0)

使用corflags.exe获取“项目”dll的PE信息。如果它是作为x64构建的,它应该说PE:PE32+32Bit:0。检查以确保“Project”的调用者正在引用该项目,而不是其他地方的构建目录中的rogue dll。

  • 首先检查参考资料
  • 使用corflags检查该引用
  • 报告结果