源文件与构build模块时不同
这真让我抓狂。
我有一个相当大的项目,我正在尝试修改。 我之前注意到,当我inputDbCommand
,Visual Studio没有对它进行任何语法高亮显示,而我正在使用System.Data.Common
。
即使没有突出显示,该项目似乎在我的浏览器运行良好。 所以我决定运行debugging器,看看事情是否真的有效。
每次没有做突出显示的类被调用时,我都会得到"the source file is different from when the module was built"
消息。
我清理了这个解决scheme并重新编译了几次,删除了tmp文件,并遵循了这里的所有方向。“ 获取源文件与创build模块时不同。 ,重新启动Web服务器,但它仍然告诉我,源文件是不同的,当他们显然不是。
因为这个,我无法testing我今天编写的任何代码。
- 当我刚刚遵守它时,源代码如何与二进制文件不同?
- 有什么办法可以让视觉工作室产生一些感觉,还是我错过了一些东西?
我遇到了这个问题,运行一个控制台应用程序,其中不同的源代码是有入口点的源代码(static void Main)。 删除bin和obj目录并完全重build似乎可以解决这个问题,但是每次我更改代码时,都会过期。
我发现的原因是:
- 我选中了“只在运行时生成启动项目和依赖关系”(工具 – >选项 – >项目和解决scheme – >生成并运行)
- 在Configuration Manager中,我的启动项目没有选中“Build”
(对于#2 – >可通过“debugging/释放”下拉列表中的工具栏进行访问。)
我只是有同样的问题,我的项目都在同一个解决scheme,所以他们正在使用项目引用项目,所以作为一个变化,其他人应该已经更新。 然而,事实并非如此,我试图build立,重build,closuresVS2010,从我们的源代码pipe理中拉出一个新的副本。 这一切都没有奏效,我终于尝试的是右键单击项目并单独重build每个项目。 这更新了.dll和.pdb文件,所以我可以通过debugging。
这里的问题是,你的DLL和你的PDB文件不同步。
有些事情要你检查:
你有没有检查你的项目引用?
你有一个Visual Studio启动Web服务器仍在运行? 检查系统托盘并查找带有齿轮图标的页面(可能有多个):
右键单击并closures/退出它。 你可能有不止一个。 你现在可以debugging你的改变吗?
你正在运行debugging版本,但只build立了发布版本(反之亦然)?
编译成功了吗? 我知道我点击了“有错误,你想继续吗?” 消息几次没有意识到。
按着这些次序
- 只需从生成DLL的项目中删除bin目录即可。
- 重build项目。
- 从引用该DLL的项目中删除引用。
- 再次包括参考。
- 请享用。
对于Web服务,使用Visual Studio“在浏览器中查看”命令可能导致问题。 这将服务的DLL和PDB文件放在bin和obj文件夹中。 从客户端进入Web服务时,Visual Studio使用bin(或obj)文件夹中的PDB,但是它使用项目的输出生成文件夹中的DLL。 有几个解决方法:
- 尝试删除Web服务bin和obj文件中的DLL和PDB文件。
- 尝试在Visual Studio中单击“在浏览器中查看”。
如果您之前遇到源文件不匹配错误,Visual Studio可能会将文件名添加到黑名单中。 检查您的解决scheme属性 select对话框左边的“Common Properties – > Debug Source Files”。 如果您的Web服务源文件出现在“不要查找这些源文件”字段中,请删除它们。
这是我如何解决Visual Studio 2010中的问题:
1)将“解决schemeconfiguration”选项从“debugging”更改为“发布”
2)开始debugging
3)停止debugging并将“解决schemeconfiguration”选项切换回“debugging”
这对我有效。 第3步是可选的 – 当我将其更改为“发布”时它工作正常,但我想将其更改回来。
我的解决scheme
我在一个新的解决scheme文件中包含了来自不同解决scheme的现有项目。
我没有注意到当现有的项目被重build时,它将最终的输出放到NEW解决scheme的输出目录中。 我有一个链接器path定义为查看OLD解决scheme的输出目录。
切换我的项目,以search新的解决scheme的输出目录中解决了这个问题。
我刚刚有这个问题。
我尝试了以上所有,但只有这个工作:
- 删除该解决scheme的.pdb文件。
- 删除有问题的.obj文件(对于报告不同步的文件)
build立解决scheme。
这解决了所有构build向前发展的问题。
我有这个问题,事实certificate我是作为一个Windows应用程序运行我的控制台应用程序。 将输出types切换回控制台解决了这个问题。
我有同样的问题。 为了解决这个问题,我使用了“发布模式”在VS2013中进行debugging。 这对我来说是足够的,因为我在一个节点js \ c ++插件中工作。
在Visual Studio 2017中删除隐藏的.vs文件夹为我解决了这个问题。
解决scheme: – 问题是: – 如果你的解决scheme中的一些项目,参考一些其他项目,然后有时某些项目的DLL,不会自动更新,每当你build立的解决scheme,一些项目将有以前的构buildDLL,而不是最新的dll
你必须手动并将最新的生成项目的dll复制到引用的项目
我使用的是Visual Studio 2013,我有一个现有的项目在源代码pipe理下。
我已经从源代码控制下载了一个新的副本到一个新的目录。
在对新的副本进行更改之后,在build立时我收到了有关的错误。
我的解决scheme
1)打开Documents\IISExpress\config\applicationhost.config
2)用目录更新virtualDirectory
节点到新鲜的副本并保存。
我的问题是,我有一个在项目中的Web服务,我改变了构buildpath。
恢复默认的构buildpath解决了我的问题。
我也遇到了同样的问题,我在其他答案中遵循了大部分的指导原则,似乎没有任何东西可以用于我。
我最终打开了IIS并为我的Web应用程序回收了应用程序池。 我有IIS版本8.5.9600,我右键单击我的Web应用程序,然后:部署>回收>回收应用程序池>确定。
这似乎已经修复了,断点现在正如预期的那样。 我认为这样做与删除bin和obj文件夹一起帮助了我的情况。
祝你好运!
我知道这是一个老问题,但我只是有同样的问题,并希望张贴在这里,以防其他人帮助。 我有一台新电脑,IT部门把我的旧电脑和新电脑合并在一起。 当我设置TFS时,我将一个不同于以前使用的本地path映射到另一个内部驱动器。 我的硬盘上的合并数据仍然存在旧的path,所以我仍然可以build立和运行。 我的IISpath也指向旧的目录。 一旦我更新IIS到正确的path,我能够debugging得很好。 我也删除了旧的目录好措施。
我也经历过这个。 我只是打开项目上的obj文件夹,然后打开debugging文件夹删除.pdb文件,这就是全部。
如果您尝试更改不属于该项目的源文件,也会发生此错误。
我正在从另一个项目的.dlldebugging一个方法,Visual Studio已经非常有用地加载了源代码,因为.dll是build立在同一台机器上的,它知道源代码的path。 显然,改变这样的文件是不会做任何事情,除非你重build引用的项目。
- 删除所有断点。
- 重build。
- 完成
卸载具有导致错误的文件的项目。
重新加载项目。
固定
在Visual Studio 2015中,使用C ++,对于我来说固定the source file is different from when the module was built
在于
- 重新启动Visual Studio。
debugging – >启动而不debugging。
这个选项适合我。 希望这可以帮助!
我有同样的问题,我通过重build所有的参考项目来解决它。