源文件与构建的文件不同 - 在完全独立的目录中查找?
Source file is different to th one that was built - looking in a completely separate directory?
我已经运行陷入这个问题几次了,我确实设法让它工作了一次,但从那以后,它又拒绝合作。
我已经尝试 this solution,为了确保所有项目都在构建中,我试图找到有问题的文件,但这也没有解决问题。
我决定查看反汇编,出于某种原因,它正在一个完全独立的目录中查找?
- 程序查找的位置(根据反汇编):C:\Users[...]\ Visual Studio 2010 \Projects[...]\Connect_DBEngine_MySQL\MySQLFunctions.cs
- 文件实际存在的位置:C:\Users[...]\Visual Studio 2015\Projects[…]\Connect_DBEngine_MySQL\MySQLFunctions.cs
反汇编报告:
--- C:\Users\Benjamin\Documents\Visual Studio 2010\Projects\SVN\DCIM\Connect_DBEngine_MySQL\MySQLFunctions.cs
0140E11C push esi
0140E11D push ebx
0140E11E sub esp,34h
0140E121 xor eax,eax
0140E123 mov dword ptr [ebp-10h],eax
0140E126 mov dword ptr [ebp-1Ch],eax
0140E129 mov dword ptr [ebp-3Ch],ecx
0140E12C mov dword ptr [ebp-40h],edx
0140E12F cmp dword ptr ds:[5CB9FE0h],0
0140E136 je 0140E13D
0140E138 call 6827FA00
0140E13D nop // This line is highlighted, like a breakpoint?
0140E13E mov edx,dword ptr [ebp-3Ch]
0140E141 mov eax,dword ptr [ebp-40h]
0140E144 lea edx,[edx+4]
0140E147 call 67EDEC20
0140E14C nop
0140E14D lea esp,[ebp-0Ch]
0140E150 pop ebx
0140E151 pop esi
0140E152 pop edi
0140E153 pop ebp
0140E154 ret
--- No source file -------------------------------------------------------------
根据评论编辑:
- 我正在使用 VS 2015、.NET 4.0。
当我尝试 运行 程序时,我得到的错误是 "The source file is different to the one that was built"。
失败的文件是同一解决方案中的另一个项目。
我已确保正在构建所有相关项目(包括此项目)(在配置管理器中)
项目作为对主项目的引用加载(文件位于相应的 bin 文件夹中)
我意识到项目的构建方式是因为它实际上是一个插件,而不是原始程序的直接部分。
因此,虽然项目 被 正确构建,但主项目实际上指的是参考项目的 .dll,该项目要早得多(2016 年),并且 那 是指的内容。
因此在替换参考项目的相应文件(.dll 和 .pdb)后,程序识别了相关文件,从而解决了问题。
我已经运行陷入这个问题几次了,我确实设法让它工作了一次,但从那以后,它又拒绝合作。
我已经尝试 this solution,为了确保所有项目都在构建中,我试图找到有问题的文件,但这也没有解决问题。
我决定查看反汇编,出于某种原因,它正在一个完全独立的目录中查找?
- 程序查找的位置(根据反汇编):C:\Users[...]\ Visual Studio 2010 \Projects[...]\Connect_DBEngine_MySQL\MySQLFunctions.cs
- 文件实际存在的位置:C:\Users[...]\Visual Studio 2015\Projects[…]\Connect_DBEngine_MySQL\MySQLFunctions.cs
反汇编报告:
--- C:\Users\Benjamin\Documents\Visual Studio 2010\Projects\SVN\DCIM\Connect_DBEngine_MySQL\MySQLFunctions.cs
0140E11C push esi
0140E11D push ebx
0140E11E sub esp,34h
0140E121 xor eax,eax
0140E123 mov dword ptr [ebp-10h],eax
0140E126 mov dword ptr [ebp-1Ch],eax
0140E129 mov dword ptr [ebp-3Ch],ecx
0140E12C mov dword ptr [ebp-40h],edx
0140E12F cmp dword ptr ds:[5CB9FE0h],0
0140E136 je 0140E13D
0140E138 call 6827FA00
0140E13D nop // This line is highlighted, like a breakpoint?
0140E13E mov edx,dword ptr [ebp-3Ch]
0140E141 mov eax,dword ptr [ebp-40h]
0140E144 lea edx,[edx+4]
0140E147 call 67EDEC20
0140E14C nop
0140E14D lea esp,[ebp-0Ch]
0140E150 pop ebx
0140E151 pop esi
0140E152 pop edi
0140E153 pop ebp
0140E154 ret
--- No source file -------------------------------------------------------------
根据评论编辑:
- 我正在使用 VS 2015、.NET 4.0。
当我尝试 运行 程序时,我得到的错误是 "The source file is different to the one that was built"。
失败的文件是同一解决方案中的另一个项目。
我已确保正在构建所有相关项目(包括此项目)(在配置管理器中)
项目作为对主项目的引用加载(文件位于相应的 bin 文件夹中)
我意识到项目的构建方式是因为它实际上是一个插件,而不是原始程序的直接部分。
因此,虽然项目 被 正确构建,但主项目实际上指的是参考项目的 .dll,该项目要早得多(2016 年),并且 那 是指的内容。
因此在替换参考项目的相应文件(.dll 和 .pdb)后,程序识别了相关文件,从而解决了问题。