热重载C#代码

时间:2015-11-08 07:59:31

标签: c# visual-studio-2015 roslyn

我有一个实体组件系统[C#],我生成了一个visual studio解决方案,用于在我的应用程序中创建一个新项目,用户可以在其中创建自己的组件。当用户在visual studio项目中添加新组件时,我需要检测此更改,编译解决方案并使该组件在我的应用程序中可见,以便用户可以将其添加到实体并在属性网格中编辑它的属性[xceed wpf属性网格]没有关闭我的应用程序。 [类似于Unity / Paradox / WaveEngine等ECS游戏引擎]。不确定Unity,但是,如果我是正确的,waveengine使用 roslyn 来实现这一点。

需要您提供各种方法来实现这一目标。

此外,我看到以下更改:

如果组件已添加到实体并保存[序列化],现在我已编辑该组件并重新编译。如何确保已保存的先前实体/组件不会中断?或者我该如何恢复它?例如:我已经为我的组件添加了一个新属性。我需要确保已经使用此组件的实体具有为该属性设置的默认值并保存,除非用户编辑并在下次保存它。

0 个答案:

没有答案