Visual Studio运行错误的代码

cha*_*esw 3 visual-studio-2013

我已经找到并发布了VS 2013,它将运行已打开的VS的最新实例的代码.这令人沮丧,因为我有时必须看看同一个大项目的两个版本之间的差异.

如何重现:(我正在使用的例子可以在github上找到:https://github.com/charles1024/VS2013-Crossover-Bug)

我有两个相同解决方案的副本,我将其称为Hello1和Hello2.

Hello1在Default.aspx中有一行,它将标签(lblHelloWorld)的文本设置为"Hello World".

Hello2有这一行,但它被注释掉了.

重现的步骤(重要的是要完全遵循):

  1. 在Hello1中打开解决方案
  2. 开始调试Hello1
  3. 请注意,左上角有一个带有"Hello World"文本的标签
  4. 停止调试Hello1
  5. 在Hello 2中打开解决方案
  6. 再次开始调试Hello1
  7. 观察到"Hello World"不再显示在左上角.

可以通过在某处更改设置来解决这个问题,还是实际上是一个错误?有没有解决方法?

笔记:

有些人建议更改为正在运行的端口.我尝试了这个并没有任何区别.该解决方案在其原始端口上运行,但仍然从VS的第二个实例运行代码.

*更正* 我刚刚检查过它,端口号似乎已修复它.显然只是保存Hello2并没有使端口更改生效.你必须关闭所有东西并重新打开.

Pau*_*ott 5

这不是Visual Studio中的错误.您打开了两个在同一端口(15770)上使用IIS Express的Web项目,因此最后获取IIS Express虚拟目录的是"获胜".

右键单击项目 - > properties - > Web.在其中一个项目上将项目URL更改为15771 (将询问您是否要创建虚拟目录).现在两者将并排运行.