実行時に、自分のコンパイルの対象となった.NET Frameworkのバージョンを検出できますか?私が書いている環境では、別のマシンでコンパイルされたC#を書くことができますが、2.0 CLR以外に、どの言語バージョンが使用可能かわかりません。対象のフレームワークを示すログファイルに出力されるテストを作成したいと思います。
これが機能するためには、コンパイルされたアセンブリがその情報を保持する必要があると思います。
現在のすべてのバージョンがインストールされているため、この質問はランタイムマシン上のすべてのフレームワークを一覧表示する方法ではありません。これはその質問の複製ではありません。これは、System.Environment.Versionを使用してCLRを決定する方法と重複していません。また、コンパイル時にターゲットの.NETランタイムを検出しようとはしていません。ログに送信できるように、これはランタイム検出である必要があります。