Visual Studio 2017はデバッグモードで中断し、メッセージを表示します。
アプリはブレーク状態になりましたが、すべてのスレッドが外部コード(通常はシステムまたはフレームワークコード)を実行していたため、表示するコードはありません。
メッセージはBreak Mode Window
にあります。
何をすべきか?
[プロジェクトプロパティ]の[プラットフォームターゲット]が[すべてのCPU]に設定され、[32ビットを優先]が選択されたときに、この状況になりました。
64ビットアセンブリを使用しているので、プラットフォームターゲットを「x64」に切り替えてから、通常どおり実行/デバッグできました。
このソリューションは、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、つまり従来のソリューションモードが選択されていることを確認してください。
私はこれを知らなかったので、「ソースモード」、つまり他の可能性で、上記のメッセージが表示されることに驚いた。
依存関係の注入中に循環依存関係のケースを確認します。
ほとんどの場合、このエラーは、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>
同じエラーを観察し、次の方法で解決しました。
このようなもの でビルドプロセスを変更してPDBファイルを削除した場合にも、この問題が発生する可能性があります。通常、PDBファイルを削除する場合は、「リリース」構成に固有の構成にすることをお勧めします。
<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の推奨事項に従って、「デバッグ」構成でビルドを実行します。
これは、connectionStrings構成アイテムをapp.configの間違った場所に配置したときに発生しました。
iPアドレスを確認します(ループバックアドレスを使用していない場合は、リスニングアドレスと同じでなければなりません)
これは、誤ってスタートアッププロジェクトをエンドプロジェクト(この場合はWPFアプリケーション)ではなくクラスライブラリに設定したときに取得しました。