更新到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认为我正在运行发布版本?
清理解决方案并重新运行会清除错误消息,因此会在某处显示某些内容。
答案 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中所述。
答案 5 :(得分:6)
自更新到VS2015 Update 1以来,我遇到了同样的问题。
在微软的Visual Studio论坛上发现了类似的报告,指出了与他们一起提出的错误报告here
有各种解决方法,但我认为根本问题是IIS Express在调试结束时没有关闭 - 而不是因为未选中编辑和继续选项。我可以找到最快的解决方法,直到修复错误:
不太好,但我认为目前没有合适的解决方案。
答案 6 :(得分:3)
我遇到了同样的问题。我通过手动删除&#39; bin中的所有文件解决了这个问题。文件夹,然后重建解决方案。我再也没有得到这个对话框了。
答案 7 :(得分:2)
就我而言,我改变了#34; Active解决方案平台&#34;对于&#34; Configuration Manager&#34;的整个解决方案从x86到任何CPU,解决了问题
答案 8 :(得分:1)
我注意到在停止调试器后Visual 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项目的项目属性,然后
似乎某些dll已被缓存,因此上述步骤将使缓存无效。
答案 17 :(得分:-1)
非常确定这已在Visual Studio 2015 Update 2中修复。
我曾经一直看到这个(每天多次),自更新到Update 2以来没有看到过一次。