Visual Studio 2017在调试模式下中断并显示消息:
您的应用程序已进入中断状态,但没有要显示的代码,因为所有线程都在执行外部代码(通常是系统或框架代码)。
消息在Break Mode Window
中。
该怎么办?
观察到相同的错误并通过以下方式解决:
当我将connectionStrings配置项放在app.config中的错误位置时,这种情况发生了。
检查你的IP地址(如果你没有使用环回地址,它必须与监听地址相同)
大多数情况下,使用visual studio表单应用程序时会发生此错误。
要解决此错误,您可以转到App.xaml
文件并将SratupUri
编辑为当前的xaml表单名称。
<Application x:Class="AppName.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml">
<Application.Resources>
</Application.Resources>
</Application>
在注入依赖项时检查是否存在循环依赖的情况。
如果您使用something like this更改了构建过程以删除PDB文件,也可能会遇到此问题。通常我建议如果要删除PDB文件,请进行特定于“Release”配置的配置:
<Target Name="RemoveTranslationsAfterBuild" AfterTargets="AfterBuild" Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<RemoveDir Directories="@(FluentValidationExcludedCultures->'$(OutputPath)%(Filename)')" />
<ItemGroup>
<PDBFilesToDelete Include="$(TargetDir)\*.pdb"/>
</ItemGroup>
<Delete Files="@(PDBFilesToDelete)" />
</Target>
然后在调试“调试”配置下运行构建时,按照@ Eric的建议。
调试VSTO Excel加载项时,我遇到了类似的问题。尝试了一切后,我通过在我的防病毒软件上禁用实时保护模块解决了这个问题。
当我的Project Properties中的“Platform Target”设置为“Any CPU”并选择“Prefer 32-bit”时,我遇到了这种情况。
我将Platform Target切换为“x64”,因为我使用的是64位程序集,然后我可以正常运行/调试。
此解决方案适用于在WPF应用程序中出现此错误的人员。当我将mainwindow.xaml移动到查看文件夹并忘记在App.Xaml中更新时,我收到此错误。更新为StartupUri =“View / MainWindow.xaml”后,主窗口加载时没有警告。
此类问题请查看属性和附件。我们应该返回正确的字段并检查值字段。
例:
private string NameField;
public string Name
{
get
{
return NameField;
}
set
{
nameField=value;
}
}
对我来说,当我的控制台应用程序设置为发布模式时,我收到了错误。切换到调试模式修复了该问题。
首先将Break Mode Window
拖到Call Stack Window
再次进行概述。
然后,检查Solution Explorer Window
是否处于源模式。左边的第4个按钮有一个下拉菜单。确保选择* .sln,即经典解决方案模式。
我不知道这一点并且惊讶地发现在“源模式”中,即另一种可能性,显示上述消息。
当我意外地将启动项目设置为类库而不是最终项目(在本例中为WPF应用程序)时,我得到了这个。