Я использую msbuild v. 15, который включен в моно на Ubuntu. Я понизил ссылки на мои сборки с gtk-sharp 3.0 до 2.12, чтобы учесть несовместимость со стетическим дизайнером monodevelop. К сожалению, msbuild все еще (по некоторым причинам) хочет использовать более новую версию. Подробный вывод сборки показывает (только выдержки):
Task "GetDependsOnNETStandard" skipped, due to false condition;
('$(DependsOnNETStandard)' == '' AND '$(NETStandardInbox)' != 'true' AND
'@(_CandidateNETStandardReferences)' != '')
was evaluated as ('' == '' AND 'true' != 'true' AND
'System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;
gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f;
gdk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f;
glib-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f;
atk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f;
Mono.Cairo, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756;
...' != '').
Task "ResolveAssemblyReference"
TargetFrameworkMoniker:
.NETFramework,Version=v4.7.1
TargetFrameworkMonikerDisplayName:
.NET Framework 4.7.1
TargetedRuntimeVersion:
v4.0.30319
Assemblies:
System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
gdk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
glib-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
atk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f
Mono.Cairo, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
...
Primary reference "gtk-sharp, Version=3.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f".
Resolved file path is "/usr/lib/mono/gac/gtk-sharp/3.0.0.0__35e10195dab3c99f/gtk-sharp.dll".
Reference found at search path location "{GAC}".
For SearchPath "{TargetFrameworkDirectory}".
Considered "/usr/lib/mono/xbuild-frameworks/.NETFramework/v4.7.1/gtk-sharp.winmd", but it didn't exist.
Considered "/usr/lib/mono/xbuild-frameworks/.NETFramework/v4.7.1/gtk-sharp.dll", but it didn't exist.
Considered "/usr/lib/mono/xbuild-frameworks/.NETFramework/v4.7.1/gtk-sharp.exe", but it didn't exist.
Considered "/usr/lib/mono/4.7.1-api/gtk-sharp.winmd", but it didn't exist.
Considered "/usr/lib/mono/4.7.1-api/gtk-sharp.dll", but it didn't exist.
Considered "/usr/lib/mono/4.7.1-api/gtk-sharp.exe", but it didn't exist.
Considered "/usr/lib/mono/4.7.1-api/Facades/gtk-sharp.winmd", but it didn't exist.
Considered "/usr/lib/mono/4.7.1-api/Facades/gtk-sharp.dll", but it didn't exist.
Considered "/usr/lib/mono/4.7.1-api/Facades/gtk-sharp.exe", but it didn't exist.
Considered "/usr/lib/mono/4.7.1-api/Facades/gtk-sharp.winmd", but it didn't exist.
Considered "/usr/lib/mono/4.7.1-api/Facades/gtk-sharp.dll", but it didn't exist.
Considered "/usr/lib/mono/4.7.1-api/Facades/gtk-sharp.exe", but it didn't exist.
Found related file "/usr/lib/mono/gac/gtk-sharp/3.0.0.0__35e10195dab3c99f/gtk-sharp.dll.config".
This reference is not "CopyLocal" because it's registered in the GAC.
The ImageRuntimeVersion for this reference is "".
Мне неясно, почему он переходит с 2.12 на 3.0 в середине сборки.