System.TypeLoadExceptionの原因と簡単な対処

C#

こんにちは、ひつじ先輩です。

この記事では、System.TypeLoadExceptionという例外の原因と対処法を書きます。

C#で、NugetからCoreTweetというパッケージをとってきて使ったらでました。

例外メッセージ:TypeLoadException

「An unhandled exception of type ‘System.TypeLoadException’ occurred in coreTweet.exe Additional information: アセンブリ ‘coreTweet, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null’ から型 ‘CoreTweet.Tokens’ を読み込めませんでした。」

TypeLoadExceptionの対処法と原因

対処法

ここ(英語のリンクです)をみて解決しました。

質問者は

「なんかよくわからないけど、プロジェクトごと作りなおしたら直った。プロジェクトの名前が悪かったんじゃないかと疑ってる」

と言ってます。

 

そこで自分もプロジェクトを作り直し、名前を変えてみたらうまく動きました。

プロジェクト名をパッケージ名と同じ「coreTweet」にしていたので全く違う「TwitterAPI」にしました。

パッケージ名とプロジェクト名を似通ったのにしていて、’System.TypeLoadException’をもらうときはプロジェクトを作り直し、別の名前を試してみてください。

原因

原因については推測ですが、例外メッセージでは

「アセンブリから型が読み込めませんでした」

とあります。

 

プロジェクトがパッケージ(アセンブリ)内にあるコードを読み込むときに、プロジェクト名がパッケージ名と同じだと、読み込みがうまくいかないようです。

そのときにでる例外がSystem.TypeLoadExceptionなのだと思われます。

  1. a より:

    解決しました