回答:
Unityは.NET3.5に基づく古いバージョンのMonoランタイムを使用します。機能の点でC#3と4の間の何かを使用します。
私はぐるぐる回ってこれを見つけました。それが機能するかどうかはわかりませんが、調査する価値があるかもしれません。
Unity Technologiesは、Unityが4.6+にアップグレードすることを発表しました。現在ベータテストで入手できます。
Visual StudioのコンパイラーはUnityのコンパイラーよりも多くの機能を備えています。つまり、一部のコード(特に新しいc#機能)は、Visual StudioではなくUnityでエラーを発生させます。
ただし、Unityがエディターで使用するものに最も近いものに一致するようにターゲットフレームワークを変更できます。Unity用のライブラリを開発するときにXamarinでこれを行いましたが、Visual Studioでも可能であるようです。
Visual StudioのDLLプロジェクトのプロパティで、ターゲットフレームワークプロパティを、使用しているUnityフレームワークのバージョンに設定します。これは、Unityフル、マイクロ、Webベースクラスライブラリなど、プロジェクトがターゲットとするAPI互換性に一致するUnityベースクラスライブラリです。これにより、DLLが他のフレームワークまたは互換性レベルに存在するが、使用しているUnityフレームワークバージョンには存在しない可能性があるフレームワークメソッドを呼び出せなくなります。
unity .net profile upgrade
Googleで検索