---
lang: ja-jp
breaks: true
---
# C# プリプロセッサ ディレクティブ 2021-08-10
## .NET ターゲット フレームワークの 定義済み プリプロセッサ シンボル
> C# プリプロセッサ ディレクティブ
> https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/preprocessor-directives
> OR_GREATER preprocessor symbols for TFMs
> https://github.com/dotnet/designs/blob/main/accepted/2020/or-greater-defines/or-greater-defines.md
| ターゲット フレームワーク | Symbols |
| -------- | -------- |
| NET Framework | NETFRAMEWORK, NET48, NET472, NET471, NET47, NET462, NET461, NET46, NET452, NET451, NET45, NET40, NET35, NET20 |
| .NET Standard | NETSTANDARD, NETSTANDARD2_1, NETSTANDARD2_0, NETSTANDARD1_6, NETSTANDARD1_5, NETSTANDARD1_4, NETSTANDARD1_3, NETSTANDARD1_2, NETSTANDARD1_1, NETSTANDARD1_0 |
| .NET 5+ (および .NET Core) | NET, NET6_0, NET6_0_ANDROID, NET6_0_IOS, NET6_0_MACOS, NET6_0_MACCATALYST, NET6_0_TVOS, NET6_0_WINDOWS, NET5_0, NETCOREAPP, NETCOREAPP3_1, NETCOREAPP3_0, NETCOREAPP2_2, NETCOREAPP2_1, NETCOREAPP2_0, NETCOREAPP1_1, NETCOREAPP1_0 |
```csharp=
public class Directive
{
public static string GetSymbols()
{
List<string> lst = new List<string>();
#if NETFRAMEWORK
lst.Add("NETFRAMEWORK");
#endif
#if NET48
lst.Add("NET48");
#endif
#if NET472
lst.Add("NET472");
#endif
#if NET471
lst.Add("NET471");
#endif
#if NET47
lst.Add("NET47");
#endif
#if NET462
lst.Add("NET462");
#endif
#if NET461
lst.Add("NET461");
#endif
#if NET46
lst.Add("NET46");
#endif
#if NET452
lst.Add("NET452");
#endif
#if NET451
lst.Add("NET451");
#endif
#if NET45
lst.Add("NET45");
#endif
#if NET40
lst.Add("NET40");
#endif
#if NET35
lst.Add("NET35");
#endif
#if NET20
lst.Add("NET20");
#endif
#if NETSTANDARD
lst.Add("NETSTANDARD");
#endif
#if NETSTANDARD2_1
lst.Add("NETSTANDARD2_1");
#endif
#if NETSTANDARD2_0
lst.Add("NETSTANDARD2_0");
#endif
#if NETSTANDARD1_6
lst.Add("NETSTANDARD1_6");
#endif
#if NETSTANDARD1_5
lst.Add("NETSTANDARD1_5");
#endif
#if NETSTANDARD1_4
lst.Add("NETSTANDARD1_4");
#endif
#if NETSTANDARD1_3
lst.Add("NETSTANDARD1_3");
#endif
#if NETSTANDARD1_2
lst.Add("NETSTANDARD1_2");
#endif
#if NETSTANDARD1_1
lst.Add("NETSTANDARD1_1");
#endif
#if NETSTANDARD1_0
lst.Add("NETSTANDARD1_0");
#endif
#if NET
lst.Add("NET");
#endif
#if NET6_0
lst.Add("NET6_0");
#endif
#if NET6_0_ANDROID
lst.Add("NET6_0_ANDROID");
#endif
#if NET6_0_IOS
lst.Add("NET6_0_IOS");
#endif
#if NET6_0_MACOS
lst.Add("NET6_0_MACOS");
#endif
#if NET6_0_MACCATALYST
lst.Add("NET6_0_MACCATALYST");
#endif
#if NET6_0_TVOS
lst.Add("NET6_0_TVOS");
#endif
#if NET6_0_WINDOWS
lst.Add("NET6_0_WINDOWS");
#endif
#if NET5_0
lst.Add("NET5_0");
#endif
#if NETCOREAPP
lst.Add("NETCOREAPP");
#endif
#if NETCOREAPP3_1
lst.Add("NETCOREAPP3_1");
#endif
#if NETCOREAPP3_0
lst.Add("NETCOREAPP3_0");
#endif
#if NETCOREAPP2_2
lst.Add("NETCOREAPP2_2");
#endif
#if NETCOREAPP2_1
lst.Add("NETCOREAPP2_1");
#endif
#if NETCOREAPP2_0
lst.Add("NETCOREAPP2_0");
#endif
#if NETCOREAPP1_1
lst.Add("NETCOREAPP1_1");
#endif
#if NETCOREAPP1_0
lst.Add("NETCOREAPP1_0");
#endif
#if NET30_OR_GREATER
lst.Add("NET30_OR_GREATER");
#endif
#if NET35_OR_GREATER
lst.Add("NET35_OR_GREATER");
#endif
#if NET40_OR_GREATER
lst.Add("NET40_OR_GREATER");
#endif
#if NET451_OR_GREATER
lst.Add("NET451_OR_GREATER");
#endif
#if NET452_OR_GREATER
lst.Add("NET452_OR_GREATER");
#endif
#if NET45_OR_GREATER
lst.Add("NET45_OR_GREATER");
#endif
#if NET461_OR_GREATER
lst.Add("NET461_OR_GREATER");
#endif
#if NET462_OR_GREATER
lst.Add("NET462_OR_GREATER");
#endif
#if NET46_OR_GREATER
lst.Add("NET46_OR_GREATER");
#endif
#if NET471_OR_GREATER
lst.Add("NET471_OR_GREATER");
#endif
#if NET472_OR_GREATER
lst.Add("NET472_OR_GREATER");
#endif
#if NET47_OR_GREATER
lst.Add("NET47_OR_GREATER");
#endif
#if NET48_OR_GREATER
lst.Add("NET48_OR_GREATER");
#endif
#if NET5_0_OR_GREATER
lst.Add("NET5_0_OR_GREATER");
#endif
#if NET6_0_OR_GREATER
lst.Add("NET6_0_OR_GREATER");
#endif
#if NETCOREAPP3_0_OR_GREATER
lst.Add("NETCOREAPP3_0_OR_GREATER");
#endif
#if NETCOREAPP3_1_OR_GREATER
lst.Add("NETCOREAPP3_1_OR_GREATER");
#endif
#if WINDOWS
lst.Add("WINDOWS");
#endif
#if WINDOWS7_0
lst.Add("WINDOWS7_0");
#endif
#if WINDOWS7_0_OR_GREATER
lst.Add("WINDOWS7_0_OR_GREATER");
#endif
#if DEBUG
lst.Add("DEBUG");
#endif
#if RELEASE
lst.Add("RELEASE");
#endif
#if TRACE
lst.Add("TRACE");
#endif
return string.Join(";", lst);
}
```
###### tags: `C#` `プリプロセッサ ディレクティブ` `define` `定義済み` `シンボル`