我知道以前曾经问过这个问题,但我无法弄清楚这一点。我相信我已经涵盖了已经提出的所有内容,但我会介绍这些内容。
当我尝试进入当前在我的解决方案中的项目服务时,我收到此消息:
我的解决方案中有3个项目:
SuburbanCustPortal< - 我的网站 SuburbanHub< - 我的serice WebsiteLogging< - 我的日志项目(这里没有意义)
我读到我应该检查以下项目:
确保已启用调试。我在我的项目的web.config中都有这个:
确保它们都使用相同的.net版本。它们都在.net框架4.0上。
确保取消选中启用您的代码:
该服务指向本地网址:
我可以在浏览器中提取服务而不会出错:
这是我对iis的设置:
我重新启动了visual studio,计算机并删除了服务并将其添加回来。
对于我的生活,我不能想到这一点。如果我遗漏了任何东西,我愿意试一试。
我解决这个问题非常重要,所以我可以在本周末完成这个项目,所以任何帮助都会非常感激。
响应Sanket Shah
我没有选项w3wp.exe:
我忘了提到
我在两个项目中都设置了debug = true:
<compilation targetFramework="4.0" debug="true">
<assemblies>
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</assemblies>
</compilation>
另外,我想补充一点,我之前已经能够进入我的服务但是自从最近回到这个项目后,我也无法做到。我在调用该服务的行上有一个断点,当我尝试使用F11时,我得到了上述消息。
响应Pawel
我尝试过以下方式设置符号,但我也没允许我介入:
我甚至尝试使用Microsoft符号:
响应Pawel#2
添加信息
我刚注意到这一点,我不确定它是否相关:
关于调试模式的其他信息
我已将所有项目设置为调试模式:
答案 0 :(得分:1)
我不知道为什么这不起作用。
我为您做了一个解决方法,您在评论中对此进行了验证:在服务启动后的某个位置添加System.Diagnostics.Debugger.Break()
。这应该会弹出某种异常窗口,并打开一个Visual Studio实例列表。选择带有解决方案的解决方案,然后单击“确定”,它应该正确附加到该位置。
恼人的?是。根据我使用Visual Studio的经验,有时候调试Windows服务可能非常挑剔。这是我所知道的唯一可行的方法。
答案 1 :(得分:1)
除了其他答案,你可以做两件事:
aspnet_regiis.exe -i
。答案 2 :(得分:1)
您的解决方案/项目/设置文件可能/似乎已损坏。如果您从头开始创建新解决方案,添加模仿当前结构的新项目,您可以尝试查看调试是否正常工作。
如果可行,请逐步移动代码,同时继续检查调试是否继续工作。
答案 3 :(得分:0)
在解决方案中,您是否尝试将所有程序集(客户端和服务器)设置为以调试模式启动,而不是在启动后尝试附加它? (右键单击解决方案资源管理器,启动,多个启动项目顶部的解决方案,选择&#34;启动&#34;对于每个作为入口点的程序集:服务器,客户端等)。
您是否曾尝试仅运行&#34;服务器&#34;部分处于调试模式(不可调试的模式)并使用soap ui调用它? 您应该尝试查看是否可以直接运行它并在没有&#34;步骤的情况下调试它。来自另一个进程,或者即使直接启动它也无法在调试器中加载。
仅供参考,如果您使用IIS Express,那么您将看不到&#34; w3wp.exe&#34;,这是用于IIS的。您可能有一个iisexpress.exe进程,或者在某些情况下有aspnet_wp.exe。 别忘了检查&#34;显示所有用户的流程&#34;在Debug-&gt;如果您选择挂钩现有流程而不是我先说的话,请附加到流程窗口。
答案 4 :(得分:0)
转到解决方案的属性选择Multi statup项目并选择所有带有start的项目,然后调试解决方案。