■ 目次
【1】 FormatExceptionはハンドルされませんでした 【2】 アクセシビリティに一貫性がありません 【3】エラー「CS0227 アンセーフ コード...」が表示
【1】 FormatExceptionはハンドルされませんでした
現象
C# で開発中に、以下のコンパイルエラーが表示される ~~~ FormatExceptionはハンドルされませんでした インデックス (0 ベース) は 0 以上で、引数リストのサイズよりも小さくなければなりません。 ~~~
原因
以下のようになっていた。 ~~~ string msg = string.Format("Name is {1}", name); // ★{1}になっとる★ ~~~
解決策
以下のように「{0}」にした ~~~ string msg = string.Format("Name is {0}", name); // ★{0}にした★ ~~~
【2】 アクセシビリティに一貫性がありません
現象
C# で開発中に、コンパイルエラー「アクセシビリティに一貫性がありません」が表示される
原因
アクセシビリティ(publicなど)が適切じゃなかった
例
public class ClassA { public List<ClassB> GetClassB() { // 略 } } class ClassB // ★ public が付加されていなかった★ { }
解決策
publicを付けるなどして、対応 ※とりあえず、分からなかったら、周辺のクラス、メソッドなどをPublicにしてみるといい 上記の例だと、 ~~~ pulic class ClassB // ★ public が付加★ ~~~ にすればいい
参考文献
http://blog.livedoor.jp/sire2/archives/50119792.htmlhttp://d.hatena.ne.jp/lmt_swallow/20110910/1315646945
【3】エラー「CS0227 アンセーフ コード...」が表示
現象
* コンパイルしたら、以下のコンパイルエラーによりビルドできない
エラー内容
CS0227 アンセーフ コードは /unsafe でコンパイルした場合のみ有効です。https://docs.microsoft.com/ja-jp/dotnet/csharp/misc/cs0227
解決策
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/compiler-options/unsafe-compiler-optionより抜粋 ~~~~~~~ Visual Studio 開発環境でこのコンパイラ オプションを設定するには 1) プロジェクトの [プロパティ] ページを開きます。 2) [ビルド] プロパティ ページをクリックします。 3) [アンセーフ コードの許可] チェック ボックスをオンにします。 ~~~~~~~
参考文献
https://hidelafoglia.wordpress.com/2008/08/01/c-unsafe/https://so-zou.jp/software/tech/programming/c-sharp/grammar/type/pointer/
関連記事
コンパイルエラーに関するトラブル
【VC++】ビルドエラー「fatal error LNK1257: コードの生成に失敗しました。」が表示されるhttps://blogs.yahoo.co.jp/dk521123/31906261.html
【VC++】fatal error C1859: 予期しないプリコンパイル済みヘッダー エラーです。コンパイラを再度実行するだけで、問題が解決する場合があります。
https://blogs.yahoo.co.jp/dk521123/31773549.html
ビルドエラー「”Exec”タスクには実行するためのコマンドが必要です」が表示する
https://blogs.yahoo.co.jp/dk521123/31532449.html
ビルドエラー「~.pdb に書き込めません:エラーを特定できません」が表示する
https://blogs.yahoo.co.jp/dk521123/31183575.html