occt: master d7eefb11
|ddzama||smoskvin||master||2022-08-19 14:41:49||master 80d47535|
|Affected Issues||0032986: Samples - csharp sample is crashed on compilation with VC++ 2022|
|Changeset||0032986: Samples - csharp sample is crashed on compilation with VC++ 2022
While demanding c++ language standard c++20, the error of OCCTProxy compilation is occured:
warning C4857: C++/CLI mode does not support C++ versions newer than C++17; setting language to /std:c++17
error C7681: two-phase name lookup is not supported for C++/CLI or C++/CX; use /Zc:twoPhase-
Officially, C++/CLI mode does not support C++ version newer than C++17, so we should not demand C++20 to compile csharp samples.
Alternative solution - using /permissive (ConformanceMode = false), rather than default value /permissive- (ConformanceMode = true)
option to compile OCCTProxy. But alternative solution has been denied.
So, here is nothing to do to fix compilation of OCCTProxy project.
Nevertheless, error occures in IE_WPF_WinForms and IE_WinForms - if we trying to compile with VC++ 2022 (not demanding c++20):
warning MSB3274: The primary reference "*\OCCTProxy.dll" could not be resolved because it was built against the ".NETFramework,Version=v4.7.2" framework.
This is a higher version than the currently targeted framework ".NETFramework,Version=v4.0".
To solve the problem it is proposed to demand by default the highest version of NETFramework - 4.8.
So, demanding NETFramework v4.8 does not crashing compilation of csharp samples with VC++ 2015.
|mod - samples/CSharp/WinForms/app.config||Diff File|
|mod - samples/CSharp/WinForms/IE_WinForms.csproj||Diff File|
|mod - samples/CSharp/WPF_D3D/app.config||Diff File|
|mod - samples/CSharp/WPF_D3D/IE_WPF_D3D.csproj||Diff File|
|mod - samples/CSharp/WPF_WinForms/app.config||Diff File|
|mod - samples/CSharp/WPF_WinForms/IE_WPF_WinForms.csproj||Diff File|