(同じソリューション内で)コードを個別のプロジェクトに分離する必要があります。通常、次のセットアップがあります。
-Engine Core (DLL)
-Game + Game Logic (EXE)
-Content Pipeline (DLL)
-Editor (EXE)
さらに大規模なプロジェクトでは、Core、Physics、Graphics、Audio、Input、Networkingなどの複数のプロジェクトでEngine Coreを分離することをお勧めします。これらのプロジェクトはすべて相互に参照することはできませんが、共通の基本型を保存できるCoreをすべて参照しています。
それらが相互に参照する場合、分離は役に立たないでしょう。
とにかく、これは他のプロジェクトでエンジンの一部を再利用するのに役立つはずです。たとえば、エディターの場合、Core自体を参照するGraphicsプロジェクトを参照する必要があります。
また、この分離により、エディターがWPFなどのWindows Onlyテクノロジーを使用できるようになり、ゲームでWindowsとXBLIGをターゲットにできるようになりました。
WPF環境内でXNAを使用する方法の詳細については、次のリンクを参照してください。http://blogs.msdn.com/b/nicgrave/archive/2010/07/25/rendering-with-xna-framework-4-0-inside- of-a-wpf-application.aspx