我将DLL编译为“任何CPU”,因此它们可以在x86和x64中运行,但是当我尝试在调试模式(x64)中运行时,它在尝试运行项目时一直告诉我错误:无法加载文件或程序集“项目”或其依赖项之一。试图加载格式不正确的程序。
但是,当我运行我从Debug目录创建的* .exe或在没有调试的Visual Studio中运行它时,它运行正常,如果我在x86调试模式下运行它也可以。除了Visual Studio中的调试模式之外,为什么它可以工作?
该应用程序是桌面应用程序,因此没有IIS应用程序池可以更改为32位。
答案 0 :(得分:0)
我注意到,有时当您更改配置时,它不会更改所有项目。如果你去Build> x64配置中的配置管理器是否都设置为构建x64版本的项目?
答案 1 :(得分:0)
使用corflags.exe获取“项目”dll的PE信息。如果它是作为x64构建的,它应该说PE:PE32+
和32Bit:0
。检查以确保“Project”的调用者正在引用该项目,而不是其他地方的构建目录中的rogue dll。