【发布时间】:2015-05-27 13:32:53
【问题描述】:
我创建了同一个项目的 2 个实例来应用不同的更改。因此,当我打开 project1 并调试 class1 时,一切都很顺利,我可以让我的断点命中所有其他调试功能。 当我打开 project2 并关闭 project1 时,我尝试在 class1 上进行相同的调试(代码的某些行不同),我收到警告
“断点当前不会命中。在project1.dal.dll中找到了class1.cs的副本,但当前源代码与那个版本不同”
当我完全关闭 VS 并重新打开项目时,或者如果我清除了 ASP.NET 临时文件,问题就会得到解决。但它每次都发生在我身上。所以我的问题是;
1) 我想知道为什么会这样,在不关闭 VS 或清除缓存文件的情况下如何解决?
2) 我知道名为“取消选中要求源文件与原始版本完全匹配”的选项。这样做安全吗?或者有什么副作用或缺点
【问题讨论】:
-
为什么需要同一个类的两个版本?
-
这不是同一个类,而是整个项目,因为我正在访问 2 个不同的数据库来比较性能。正如我所说的业务逻辑,我也改变了其中一个来进行比较。我本可以使用单元测试等来做不同的事情,但这是达到我的目的的最快方法。
-
@artm 例如发生的事情如下。我正在调试 2 个版本的 nopcommerce 以查看一些差异。我打开了 3.5 和 3.6 版本,但我只启动了 3.6 版本,有趣的是在浏览器上显示的是 3.5 版本(设计完全不同)。虽然我什至没有开始调试 3.5 源代码。
标签: c# visual-studio-2013 visual-studio-debugging