.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을 위해 별도의 자식 프로세스를 사용합니다. 또한 .algo 파일을 빌드하기 위해 전용 NuGet 패키지를 사용합니다.
그러나, cTrader의 새로운 릴리스는 마이그레이션 전에 작성된 코드와 역호환됩니다. 몇 가지 예외를 제외하고, 이전 버전의 cTrader에서 빌드된 지표와 cBot을 자유롭게 사용할 수 있습니다.
참고
마이그레이션 과정에서 일부 매개변수 이름과 메서드가 변경되었습니다. 이전 버전의 cBot 또는 지표를 새로운 버전의 cTrader에서 빌드할 때 이로 인해 빌드 오류 또는 경고가 발생할 수 있습니다. 새로운 메서드 또는 매개변수 이름과 메서드 오버로드를 알아보려면 참조 라이브러리를 참조하세요.
.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 메서드를 사용해야 합니다.