【问题标题】:Source file is different to th one that was built - looking in a completely separate directory?源文件与构建的源文件不同 - 在一个完全独立的目录中查找?
【发布时间】:2019-09-23 06:51:56
【问题描述】:

我现在遇到过几次这个问题,我确实设法让它工作了一次,但从那以后,它又一次拒绝合作。

我已尝试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 -------------------------------------------------------------

根据 cmets 进行编辑:

  • 我使用的是 VS 2015,.NET 4.0。
  • 当我尝试运行程序时,我得到的错误是“源文件与构建的不同”。

  • 失败的文件是同一解决方案中的另一个项目。

  • 我已确保所有相关项目(包括这个)正在构建(在配置管理器中)

  • 项目作为对主项目的引用被加载(文件位于相应的 bin 文件夹中)

【问题讨论】:

  • 我不确定你在问什么。您遇到什么错误以及何时收到此错误?
  • 在控制台中构建它是否有效?您使用哪个 dotnet 版本?
  • 顺便说一句,您甚至可以使用文本编辑器打开程序集文件 - 您可以查找源文件名并在那里找到完整路径。
  • 网络库在项目 bin 文件夹中查找参考项(见解决方案资源管理器)。首先检查 bin 文件夹中的文件。确保文件正确,检查日期和大小文件。您可以右键单击引用对象以检查文件的来源,如果选中该选项以复制到可执行文件夹。发生这些类型问题时,文件位于错误的可执行文件夹中(调试与发布)。永远不要手动将对象放入 bin 文件夹,因为如果您从调试更改为发布,最终会遇到问题。使用添加现有项目并浏览到对象。

标签: c# .net visual-studio-2015


【解决方案1】:

我意识到项目的构建方式是因为它实际上是一个插件,而不是原始程序的直接一部分。

因此,虽然项目正在正确构建,但主项目实际上是指参考项目的 .dll,该项目更早(2016 年),并且 > 就是所指的内容。

因此,在替换参考项目的相应文件(.dll 和 .pdb)后,程序识别了相关文件,从而解决了问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-05
    • 1970-01-01
    • 2013-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-06
    相关资源
    最近更新 更多