Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

C#

C#で「CS0518: 定義済みの型 ‘System.Range’は定義、またはインポートされていません」エラーが出た時の原因と対処

投稿日:2022年7月2日 更新日:

 

<目次>

(1) C#で「CS0518: 定義済みの型 ‘System.Range’は定義、またはインポートされていません」エラーが出た時の原因と対処
 (1-1) エラー概要
 (1-2) 原因
 (1-3) 対策
 (1-4) (参考)範囲演算子について

(1) C#で「CS0518: 定義済みの型 ‘System.Range’は定義、またはインポートされていません」エラーが出た時の原因と対処

(1-1) エラー概要

C#のプログラムで「範囲演算子」の記述[0..^1]をした際に下記のエラーが出ました。
 
(エラーメッセージ)
32 ビット符号付き整数を表します。この型の.NET Frameworkソース コードを参照するを参照してください。、Reference Sourceします。

CS0518: 定義済みの型 'System.Range'は定義、またはインポートされていません
CS0518: 定義済みの型 'System.Index'は定義、またはインポートされていません
・はじめは、C#8.0以上が必要である旨のエラーが出ました
→「考えられる修正内容を表示する」に従い、プロジェクトのC#を8.0にアップデート
(図111)
・その後、上記のエラーメッセージが出現
(図112)
 

(1-2) 原因

「範囲演算子」は「C# 8.0」の機能であるが、「C# 8.0」をサポートする「.NET Core3」に対応していないVisual Studioのバージョン(2019バージョン16.3より前)か、対応していないプロジェクトで使用している事が原因と推定されます。

(1-3) 対策

Visual Studioでプロジェクトを作る際、「C# 8.0」をサポートする「.NET Core3」に対応したテンプレートでプロジェクトを作る事で、エラーを回避する事ができました。
(図131)
 

●Before→Afterの変化

・旧プロジェクトは「.NET Framework 4.7.2」でした。
(図132)
・新プロジェクトは「.NET Core 3.1」でした。
(図133)
・加えて、エラーも解消されていました。
(図134)

(1-4) (参考)範囲演算子について

「[0..^1]」の部分は範囲演算子(Range Operator)と呼ばれ、C#8.0以降に導入された機能です。
「..」→レンジ演算子は連続する範囲の開始と終了を指定するために使う
「^」→ハット演算子
 
(参考)

(1-5) (参考)「.NET」と「C#」バージョン早見表

(表)

C#バージョン VSバージョン .NETバージョン CLRバージョン
(実行エンジン)
リリース日 ソース
1.0 2002 1.0 1.0 2002年2月 参考
1.2 2003 1.1 1.1 2003年4月 参考
2.0 2005 2.0 2.0 2005年11月 参考
3.0 2.0 2006年11月 参考
3.0 2008 3.5 2.0 2007年11月 参考
4.0 2010 4.0 4 2010年4月 参考
5.0 2012 4.5 4 2012年8月 参考
5.0 2013 4.5.1 4 2013年10月 参考
4.5.2 4 2014年5月 参考
6.0 2015 4.6 4 2015年6月 参考
4.6.1 4 2015年11月 参考
4.6.2 4 2016年8月 参考
7.0 2017 2017年3月 参考
4.7 4 2017年5月 参考
7.1 2017 (v15.3) 2017年8月 参考
4.7.1 4 2017年10月 参考
7.2 2017 (v15.5) 2017年12月 参考
4.7.2 4 2018年4月 参考
7.3 2017 (v15.7) 2018年5月 参考
8.0 2019 4.8 4 2019年4月 参考
9.0 2019 (v16.8) 5.0(*注1) (*注2) 2020年11月 参考
10.0 2022 (v17.0) 6.0(*注1) (*注2) 2021年11月 参考
(*注1)
「.NET 5.0」や「.NET 6.0」は「.NETFramework」の新バージョンではなく、あくまで「.NET Core 3.x」の後継バージョンに相当するものです。
(*注2)
.NET Coreにおいては「.NET Core」のバージョンと「CLR」のバージョンは一致するため、明記していない。
 
(表)
C#バージョン VSバージョン .NETバージョン リリース日 サポート終了 ソース
2015 Update 3 .NET Core 1.0 2016年6月 2019年6月 参考
.NET Core 1.1 2016年11月 2019年6月 参考
7.1 2017 (v15.3) .NET Core 2.0 2017年8月 2018年10月 参考
7.3 2017 (v15.7) .NET Core 2.1 2018年5月 2021年8月 参考
.NET Core 2.2 2018年12月 2019年12月 参考
2019 (v16.3) .NET Core 3.0 2019年9月 2020年3月 参考
2019 (v16.4) .NET Core 3.1 2019年12月 2022年12月 参考
9.0 2019 (v16.8) .NET 5 2020年11月 2022年5月 参考
10.0 2022 .NET 6 2021年11月 2024年11月 参考
.NET 7 2022年11月 2023年2月  
.NET 8 2023年11月 2026年11月  

目次にもどる

 

Adsense審査用広告コード


Adsense審査用広告コード


-C#

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

C#でNLogライブラリを用いてログ出力を行う方法

<目次> (1) C#でNLogライブラリを用いてログ出力を行う方法  (1-1) NLogの概要  (1-2) NLogの導入手順  (1-3) NLogの初期実装手順  (1-4) NLogのサン …

ASP.NET MVCにおけるSessionオブジェクトについて

<目次> (1) ASP.NET MVCにおけるSessionオブジェクトについて  (1-1) Session(セッション)とは?   (1-1-1) セッションの開始と終了  (1-2) Sess …

Xamarin.Formsで画面遷移を実装する手順について+ソースコードも紹介

<目次> (1) Xamarin.Formsで画面遷移を実装する手順について  (1-1) 遷移先ページの追加  (1-2) 画面遷移ロジック追加   (1-2-1) ボタンコントロールの追加   ( …

C#からDB接続でSQLServerに接続してSELECT文を実行する方法

<目次> (1) C#からDB接続する方法~SQLServerへの接続プログラム例もご紹介~  (1-1) 構文(DB接続)  (1-2) 構文(SELECT文発行)  (1-3) サンプルプログラム …

BundleConfig.csが読み込まれない場合の確認ポイントについて(ASP.NET)

  <目次> (1) BundleConfig.csが読み込まれない場合の確認ポイントについて(ASP.NET)  (1-1) 前提条件  (1-2) 確認ポイント   (確認①)Bundl …

  • English (United States)
  • 日本語
Top