复制的VS解决方案之间的冲突

时间:2014-05-01 17:51:02

标签: asp.net-mvc visual-studio-2013

我的ASP.NET MVC 5应用程序遇到了一些奇怪的行为,在Visual Studio Ultimate 2013上运行,在Windows 8 Professional中运行,并使用MongoDB 2.6作为数据库。

最初,有一个解决方案;让我们称之为Alpha。然后,我复制了解决方案(字面上复制并粘贴在Windows资源管理器中),以创建新的解决方案;让我们称之为Bravo。我更改了解决方案和项目名称以及所有相关的文件名,然后对Bravo的内容进行了大量编辑,使得当应用程序在浏览器中运行时,它与Alpha看起来非常不同。

奇怪的行为如下。如果我在Visual Studio中使用Bravo,并且我在浏览器中运行它,那么所有内容都会像Bravo一样出现。但是,如果我然后在Visual Studio中加载Alpha,然后我运行Bravo,那么显示的网站实际上是由Alpha中的代码表示的,而不是Bravo。如果我然后关闭运行Bravo的Visual Studio实例,重新启动它,然后运行Bravo应用程序,显示的网站将恢复为Bravo的预期版本。

所以,似乎Bravo中仍然存在一些引用Alpha的东西。如果我加载Alpha,则会在内存中加载某些内容,这会覆盖Bravo在应用程序启动期间提供的数据。只有当我重新启动Visual Studio并使用Bravo刷新此内存时,它才会使用更新版本的Bravo,而不是原始版本的Alpha。

同样,如果我在Visual Studio中加载Alpha,然后在另一个Visual Studio实例中加载Bravo解决方案,则运行Alpha - 它会显示我希望从Bravo中显示的内容。

有关导致此行为的原因的任何想法,或者我如何进一步调查此问题?

谢谢:)

1 个答案:

答案 0 :(得分:0)

谢尔盖是对的。

我经常发生这种情况,当我在IIS中托管的Web解决方案之间来回切换时,我总是需要来回更改路径。这始于VS 2012,并在VS 2013中继续。

我无法找到有关其发生原因或纠正方法的更多信息。据我所知,只有解决方法。

Workaround and info on the bug request

another potential post on same subject.

我个人而言,只需手动来回更换。

相关问题