如何让断点正常工作?
在调试模式下运行C#控制台应用程序时收到此消息:
断点当前不会被击中。没有加载任何符号 对于这份文件。
以下是与此问题相关的其他规范:
Microsoft Visual Studio Professional 2015版本14.0.25123.00更新 2 Microsoft .NET Framework版本4.6.01055
已安装版本:专业
ASP.NET和Web Tools 2015.1(Beta8)14.1.11106.0 ASP.NET和Web 工具2015.1(Beta8)
ASP.NET Web框架和工具2012.2 4.1.41102.0另外 信息,请访问http://go.microsoft.com/fwlink/?LinkID=309563
ASP.NET Web框架和工具2013 5.2.40314.0有关其他信息 信息,请访问http://www.asp.net/
代码对齐12.1代码对齐可帮助您呈现代码 精美,增强清晰度和可读性。
CodeMaid 10.1.93 CodeMaid是一个开源的Visual Studio扩展 清理和简化我们的C#,C ++,F#,VB,PHP,PowerShell,R,JSON, XAML,XML,ASP,HTML,CSS,LESS,SCSS,JavaScript和TypeScript 编码
Common Azure Tools 1.7提供Azure使用的常用服务 移动服务和Microsoft Azure工具。
ConfigurationTransform 1.3在运行期间自动转换app.config 构建过程。设置转换后,它将在其他转换上运行 构建没有扩展名的机器。
GitHub.VisualStudio 1.0一个带来的Visual Studio扩展 GitHub流入Visual Studio。
JavaScript语言服务2.0 JavaScript语言服务
JavaScript Project System 2.0 JavaScript项目系统
JetBrains ReSharper Ultimate 10.0.2 Build 104.0.20151218.120627 适用于Microsoft Visual Studio的JetBrains ReSharper Ultimate软件包。对于 有关ReSharper Ultimate的更多信息,请访问 http://www.jetbrains.com/resharper。版权所有©2016 JetBrains,Inc。
Microsoft Azure移动服务工具1.4 Microsoft Azure Mobile 服务工具
Node.js工具1.1.31117.00添加对开发和调试的支持 Visual Studio中的Node.js应用程序
Node.js工具 - 分析1.1.31117.00对Node.js的分析支持 项目
NuGet Package Manager 3.4.3 Visual Studio中的NuGet包管理器。 有关NuGet的更多信息,请访问http://docs.nuget.org/。
NuGet References 1.0通过管理NuGet引用节省时间 直接来自Solution Explorer packages.config
PreEmptive Analytics Visualizer 1.2 Microsoft Visual Studio 扩展以可视化PreEmptive中的汇总摘要 分析产品。
SQL Server数据工具14.0.60311.1 Microsoft SQL Server数据工具
StyleCop 4.7提供源代码样式和一致性工具。看到 https://github.com/Visual-Stylecop/Visual-StyleCop了解更多详情。
TypeScript 1.8.30.0 Visual Studio的TypeScript工具
以下是我的调试设置:
以下是我对项目的设置:
以下是我正在使用的软件包:
<package id="EntityFramework" version="6.1.3" targetFramework="net452" />
<package id="log4net" version="2.0.3" targetFramework="net452" />
<package id="Magnum" version="2.1.3" targetFramework="net452" />
<package id="MassTransit" version="2.9.9" targetFramework="net452" />
<package id="MassTransit.Log4Net" version="2.9.9" targetFramework="net452" />
<package id="MassTransit.MSMQ" version="2.9.0" targetFramework="net452" />
<package id="Newtonsoft.Json" version="6.0.6" targetFramework="net452" />
nuget未涵盖的其他参考文献:
如何让断点正常工作?
答案 0 :(得分:2)
我刚刚创建了新的控制台app +类库。请确保控制台应用程序具有类库的引用(如图像上)
我写的是因为我在屏幕上看不到。
比PLZ右键单击解决方案并选择“属性...” 你会看到那样的smth: 检查项目的配置+平台是否相同,并选中“Build”复选框。如果选中了这个复选框,那么在你的解决方案的“干净构建”之后,你会在colsole应用程序的bin \ Debug文件夹中看到类似这样的smth:
请注意,类库有2个文件(在屏幕上突出显示):dll + pdb。在这种情况下,dll + pdb处于同步状态,您的breakepoints将在类库代码中工作。
如果构建后没有类库项目的pdb文件,那么您对类库的引用可能不是VS项目的引用。请检查您是否正确添加了引用(如图片所示):
请勿通过“浏览”对话框直接引用类库的dll文件。
您可以检查您的控制台应用程序是否在类库项目上正确重新启用 - 请在编辑时打开控制台应用程序csproj文件并查看参考:
如果您有BAD refence(在.dll文件上):
通过VS中的上下文菜单删除该引用并添加正确的引用。
我希望这会对你有帮助。
答案 1 :(得分:1)
你对我试图解决这个问题表示同情。当我将设置与我的设置进行比较时,我在Debugging | General中找到了2个不同之处:
第一个可能会解决您的问题。
答案 2 :(得分:1)
为什么会发生这种情况有不同的原因。我有同样的问题,其中一个可能的解决方案是删除所有.pdb和.idb文件
答案 3 :(得分:1)
您是否尝试取消选中调试&gt;选项一般&gt;要求源文件与原始版本完全匹配吗?
答案 4 :(得分:1)
只是大声思考,我遇到了以下没有调试的问题: 这些是一般情况,并非特定于任何环境。
如果我想到其他人,我会在这里发帖。
答案 5 :(得分:1)
之前我在框架代码中遇到过这个问题。试试这个:
至少应该在方法开始时为您提供一个断点,然后您可以逐步完成。
请注意,我总是会收到一条错误消息,告诉我在使用此技术时断点不起作用。但无论如何它都有效。
请注意,我确实加载了有效符号,因此请务必使用您的设置来告诉您符号已加载。
答案 6 :(得分:1)
我不知道你附加到这两个进程的位置。默认情况下,Visual Studio仅附加到启动项目。看来consoleProject是你的启动项目。在开始调试consoleProject之后,使用Debug
菜单并选择"Attach to Process..."
并选择与classLibraryProject对应的进程。断点现在可用。
Ctl+Alt+P
是此快捷键。
答案 7 :(得分:0)
我不久前就遇到过这样的问题...而且我不确定我所执行的哪些事情实际上解决了这个问题。
但我能说的是,我发现(尽管packages.config
条目看起来还不错)几个(!)使用的库不在正确的.net版本中(在我的情况下为net461
)
我使用了一个名为 Target Framework Migrator 的工具来解决此问题。你可以通过Tools =&gt;获得它。扩展和更新=&gt;在线=&gt; Visual Studio Gallery
然后在搜索字段中输入Target Framework Migrator
。
我确实记得,我在尝试修复问题时也将.Net升级到4.6.1 ...也许你也可以试试这个......但无论如何都要为你自己的库运行Target Framework Migrator(并且重新启动VS 2015就绝对值得一试。
祝你好运!答案 8 :(得分:0)
答案 9 :(得分:-1)
确保您的配置设置为Debug,而不是Release。
如果上述内容正确,请尝试此操作:工具 - &gt;选项 - &gt;调试 - &gt;符号和检查&#34; Microsoft符号服务器&#34;
答案 10 :(得分:-1)
对于这样的异常情况,清理解决方案非常值得(包括手动删除bin和obj文件夹然后重新启动。