从 .NET Framework 迁移
迁移到 .NET 6.0
cTrader Windows 在 4.2 版本中从 .NET Framework 迁移到了 .NET 6.0。 这导致了 UI 以及 cBot 和指标的编译和构建方式发生了一些重大变化。
主要变化
在迁移之前,cTrader 使用的是 .NET Framework 4.0(和 C# 版本 4)。 所有算法都在主 cTrader Windows 进程内运行。
迁移后,cTrader 现在为指标和 cBot 使用单独的子进程。 它还使用专用的 NuGet 包来构建 .algo 文件。
也就是说,新版本的 cTrader 向后兼容迁移前编写的代码。 除了少数例外,您可以自由使用在 cTrader 旧版本中构建的指标和 cBot。
注意
在迁移过程中,一些参数名称和方法已经更改。 在较新版本的 cTrader 中构建旧的 cBot 或指标时,您可能会因此收到构建错误或警告。 请查阅参考库以了解新的方法或参数名称和方法重载。
如何迁移到 .NET 6.0
要从 .NET Framework 迁移到 .NET 6.0,请在 cTrader Windows 4.2 或更新版本中重新构建您的指标和 cBot。 在重新构建过程中,cTrader 将自动将 .NET 项目结构更改为新的 SDK 样式。
重新构建后,通过目标框架下拉菜单将您的指标或 cBot 目标框架更改为 .NET 6.0。

重新构建后测试您的指标或 cBot。
注意
如果您的指标或 cBot 使用 File、Registry 或 Internet 访问权限,请将它们更改为 FullAccess。
在 4.2 版本中,使用多线程的 cBot 和指标不能调用任何 API 成员。 这可以通过使用 BeginInvokeOnMainThread 方法来调用 API 方法或成员来解决。 否则,您的代码将抛出错误。
由于 cTrader Algo API 不是线程安全的,因此每当您调用或访问 API 成员时,都必须使用 BeginInvokeOnMainThread 方法。