VS 2015 Update 1 - 声称我正在调试发布版本

时间:2015-12-01 19:18:27

标签: visual-studio-2015

更新到VS 2015更新1后,如果我运行了一个Web项目(MVC),请停止该应用程序,然后尝试再次运行它,VS停止并弹出一个声明的对话框

  

您正在调试while read oldrev newrev refname line do branch=$(git rev-parse --symbolic --abbrev-ref $refname) if [ "master" = "$branch" ]; then # some deployment commands elif [ "development" = "$branch" ]; then # some other deployment commands fi done 的发布版本。

     

使用Just My Code和使用编译器优化的发布版本会导致调试体验降级(例如,断点不会被击中)。

问题是我没有运行发布版本。我清楚地运行了我刚刚运行的(相同)调试版本!为什么VS认为我正在运行发布版本?

清理解决方案并重新运行会清除错误消息,因此会在某处显示某些内容。

18 个答案:

答案 0 :(得分:54)

来自Microsoft的消息是,这是一个已知问题(它最初是发给调试器团队的,但确定这是一个构建问题,现在已经在Project系统团队手中了。此问题还有其他问题。并且它被评为优先级1,所以应该按照预期进行下一次更新。虽然正如预期的那样,但是没有任何关于它何时发布(或实际更新内容)的承诺。

因此。它已知并正在进行中。至少在调试常规选项中关闭“启用我的代码”似乎是一个解决方法。

答案 1 :(得分:43)

如@romanoza所述,Microsoft更新了(现在缺少的)Microsoft Connect错误报告(以前位于here,以防您能够在某处找到存档),并提供以下信息:

  

取消选中设置Debug - >选项 - >抑制模块负载的JIT优化(仅限管理)

这是解决方法。他们后来继续说:

  

我们建议未经检查的人员将其取消选中,以便在特定情况下改善性能和仅我的代码的行为。

最后,确认:

  

这是一个错误,它无法启用该设置,我们正在针对该情况进行修复,以防某些客户仍希望在启用该设置的情况下进行调试。

更新:根据评论,对于某些开发人员,默认情况下,该框似乎已经 un 检查,并且正在检查在某些情况下可以解决完全相同的问题。很奇怪。

答案 2 :(得分:18)

我注意到这里的答案是不完整的,我遇到了同样的问题,它通过打开项目属性并在构建选项卡和调试配置取消选中 “优化代码”<来解决/ strong>即可。您还应检查上面提到的配置管理器,以确保它也是合理的。答案来自这篇文章,他们应该得到信用:VS2015 Project no longer runs in debug mode

谢谢,

答案 3 :(得分:11)

清理(和重建)解决方案对我来说是一种临时解决方法。您也可以选择Debug&gt;选项并取消选中Suppress JIT optimization复选框。

答案 4 :(得分:10)

我解决了在配置管理器窗口中将配置设置为 Debug 的问题,如answer中所述。

enter image description here

答案 5 :(得分:6)

自更新到VS2015 Update 1以来,我遇到了同样的问题。

在微软的Visual Studio论坛上发现了类似的报告,指出了与他们一起提出的错误报告here

有各种解决方法,但我认为根本问题是IIS Express在调试结束时没有关闭 - 而不是因为未选中编辑和继续选项。我可以找到最快的解决方法,直到修复错误:

  • 右键单击托盘中的IIS Express图标并在调试后将其退出(感谢David Totzke提供有关错误报告的解决方法)

不太好,但我认为目前没有合适的解决方案。

答案 6 :(得分:3)

我遇到了同样的问题。我通过手动删除&#39; bin中的所有文件解决了这个问题。文件夹,然后重建解决方案。我再也没有得到这个对话框了。

答案 7 :(得分:2)

就我而言,我改变了#34; Active解决方案平台&#34;对于&#34; Configuration Manager&#34;的整个解决方案从x86到任何CPU,解决了问题

答案 8 :(得分:1)

我注意到在停止调试器后Vis​​ual Studio没有杀死iisexpress进程。手动杀死这个过程似乎为我解决了这个问题。

现在似乎已在Update 2中修复。

答案 9 :(得分:1)

检查解决方案的配置属性。我遇到了同样的问题,发现我的调试配置实际上正在构建一些带有发布配置的项目。

答案 10 :(得分:1)

似乎有很多解决方案,因为有人遇到问题,但在我的情况下,我不得不删除并重新添加项目引用。项目参考是在同一解决方案中的单元测试项目中。

答案 11 :(得分:1)

在我的情况下,错误消息是正确的。我正在运行一个加载发布版本的应用程序。所以我通过让应用程序加载调试版本来纠正它。

小学,我知道,我意识到自己看起来像个白痴。但有时问题正是报道的内容。

答案 12 :(得分:0)

检查IIS项目URL是否实际指向您认为的位置。如有疑问,请单击“创建虚拟目录”按钮。

我最近遇到过这个问题,我一直在运行生产代码库的临时版本,并将IIS中的文件夹重新命名为临时版本,这确实是运行生产版本,而不是我尝试的调试版本调试。

答案 13 :(得分:0)

对我来说,我在这个FileListAbsolute.txt文件中找到了3 \ Release \文件夹引用:

C:\项目\ MyWebApp.Web \ OBJ \发布\ MyChildWebApp.Web.csproj.FileListAbsolute.txt

他们是这样的:

C:\项目\ MyWebApp.Web \ OBJ \发布\ MyChildWebApp.Web.csprojResolveAssemblyReference.cache

C:\项目\ MyWebApp.Web \ OBJ \发布\ MyChildWebApp.Web.dll

C:\项目\ MyWebApp.Web \ OBJ \发布\ MyChildWebApp.Web.pdb

只需删除VS之外的那3行,然后重新打开解决方案即可解决问题。希望有所帮助。

答案 14 :(得分:0)

我已经尝试了所有的答案,对我来说一个是删除一些NuGet包,而不仅仅是引用,但删除包,在我的情况下PostSharp。起初我尝试从所有项目中删除引用,但它不起作用,然后我只是从管理器中删除了包。我不知道究竟是什么原因,但这就解决了我的问题,希望它可以帮助那些人。

答案 15 :(得分:0)

重新启动Visual Studio。这解决了2017年专业版的问题。

答案 16 :(得分:0)

这对我有用。

如果是Web项目,请转到该Web项目的项目属性,然后

  1. 如果选择了“本地IIS”,请重新启动IIS服务器。
  2. 如果选择了IIS Express,请从任务栏图标退出IIS Express。

似乎某些dll已被缓存,因此上述步骤将使缓存无效。

答案 17 :(得分:-1)

非常确定这已在Visual Studio 2015 Update 2中修复。

我曾经一直看到这个(每天多次),自更新到Update 2以来没有看到过一次。