Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何运行x64调试模式DLL是;任何CPU;?_C#_Wpf_Visual Studio 2010_Dll_Platform Independent - Fatal编程技术网

C# 如何运行x64调试模式DLL是;任何CPU;?

C# 如何运行x64调试模式DLL是;任何CPU;?,c#,wpf,visual-studio-2010,dll,platform-independent,C#,Wpf,Visual Studio 2010,Dll,Platform Independent,我将DLL编译为“任意CPU”,以便它们可以在x86和x64中运行,但当我尝试在调试模式(x64)下运行时,它在尝试运行project时不断告诉我错误:无法加载文件或程序集“project”或其某个依赖项。试图加载格式不正确的程序 但是,当我运行从调试目录创建的*.exe或在Visual Studio中运行它而不进行调试时,它运行良好,如果在x86调试模式下运行它,它也可以工作。为什么它在VisualStudio中除了调试模式之外什么都可以工作 该应用程序是一个桌面应用程序,因此没有IIS应用程

我将DLL编译为“任意CPU”,以便它们可以在x86和x64中运行,但当我尝试在调试模式(x64)下运行时,它在尝试运行project时不断告诉我错误:无法加载文件或程序集“project”或其某个依赖项。试图加载格式不正确的程序

但是,当我运行从调试目录创建的*.exe或在Visual Studio中运行它而不进行调试时,它运行良好,如果在x86调试模式下运行它,它也可以工作。为什么它在VisualStudio中除了调试模式之外什么都可以工作


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

我注意到,有时当您更改配置时,它不会更改所有项目。如果在x64配置中转到Build>Configuration Manager,是否所有项目都设置为Build x64版本?

用于获取“project”dll的PE信息。如果它是作为x64构建的,那么应该是
PE:PE32+
32Bit:0
。检查以确保“Project”的调用方引用的是该项目,而不是其他地方生成目录中的恶意dll

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

Project的平台设置为什么?@Gray Platform设置为x64Yup,所有设置都设置为x64。这会告诉我什么?解决方案唯一不运行的时间是x64的调试模式。它在发行版中运行,未经调试运行,并且在我运行exe时运行。您可能正在引用visual studio中未在本地复制的dll。确认后,您可以检查调试文件夹中的dll是作为什么构建的。它可能会让你了解为什么你会得到一个糟糕的图像格式。当您不知道环境是什么样的时候,很难调试这些东西,所以我只是想消除一些变量。如果你不想检查,那也没关系。祝你好运。corflags对前男友有效吗?因为
Project
是启动项目,所以它是一个exe。哈哈,伙计。。。这实际上需要3秒钟来检查(确实如此)。我觉得你不想尝试我建议的东西。就像我之前说的,那很好。我相信你会想出办法的。