B4.2 not fully interoperable with 4.1
B4.2 not fully interoperable with 4.1
08 Apr 2022, 09:55
Beta 4,2 needs to be fully interoperable with 4.1 as far as evaluation is a concern, but 4.2 compiles solutions targeting 4.1 with a 4.2 GUID mark instead of a 4.1 GUID mark. The outcome is preventing 4.1 to compile a solution compiled from 4.2 because GUID 4.2 is unrecognized by 4.1.
Once a solution is compiled from 4.2 targeting 4.1, compiling from 4.1 is prevented because of the above reason.. While in Beta, solutions must still be granted full access under 4.1.
Replies
galafrin
08 Apr 2022, 15:56
( Updated at: 08 Apr 2022, 16:58 )
Your answer does not adress algos barred from compile under 4.1 after being compiled under 4.2. It might be solved by calling 4.1 XML snippet from 4.2, not its 4.2 version.
Actualy all algos complied under 4.2 must be re-sourced from scratch under 4.1 in order to compile.
Actually compiling under 4.2 targeting 4.1 brings this csprojj XML. This denied when compiling under 4.1.
<?xml version="1.0" encoding="utf-8"?>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<EnableDefaultItems>False</EnableDefaultItems>
<GenerateAssemblyInfo>False</GenerateAssemblyInfo>
</PropertyGroup>
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>cAlgo</RootNamespace>
<AssemblyName>MA recursive auto</AssemblyName>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="cTrader.Automate" Version="1.*" />
</ItemGroup>
<ItemGroup>
<Compile Include="MA recursive auto.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\MA linear auto\MA linear auto\MA linear auto.csproj">
<Project>{1311DA0C-AFD6-4D41-A94F-A2BC918F3EA1}</Project>
<Name>MA linear auto</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Reference Include="userClasses, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null">
<HintPath>..\..\userClasses\userClasses\userClasses\userClasses\userClasses\bin\Debug\userClasses.dll</HintPath>
</Reference>
</ItemGroup>
</Project>
@galafrin
amusleh
08 Apr 2022, 11:14
Hi,
It's not a GUID problem, cTrader 4.2 uses new SDK style projects and cTrader 4.1 uses old legacy style projects, these two aren't compatible with each other.
Here is an example of cTrader 4.2 .NET framework cBot project file:
And cTrader 4.1 cBot project file:
cTrader 4.2 can use and build cTrader 4.1 cBots/Indicators, but cTrader 4.1 can't.
@amusleh