#linux #mono #xbuild
#linux #mono #xbuild
Вопрос:
Я установил свежие mono и monodevelop в свой debian из исходного кода Xamarin, и создание двух несвязанных проектов приводит к той же ошибке:
% xbuild /verbosity:diagnostic
Target GenerateResources:
Task "GenerateResource"
Using task GenerateResource from Microsoft.Build.Tasks.GenerateResource, Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Resource file 'obj/x86/Debug/WinFormsGraphicsDevice.MainForm.resources' is newer than the source file 'MainForm.resx', skipping.
Resource file 'obj/x86/Debug/WinFormsGraphicsDevice.Properties.Resources.resources' is newer than the source file 'Properties/Resources.resx', skipping.
Resource file 'obj/x86/Debug/OpenTK.GLControl.resources' is newer than the source file 'ThirdParty/GLControl/GLControl.resx', skipping.
Task "GenerateResource" execution -- FAILED
Очевидно, что файлов там нет (в obj / x86 / Debug есть только WinFormsGraphicsDevice.csproj.FilesWrittenAbsolute.txt )
Что здесь не так? Я провел три вечера, уже получая все новые ошибки от Mono.
Комментарии:
1. Несколько красных флагов. 1. WinForms в Mono не содержит ошибок, поэтому используйте GTK #, если можете. 2. Последняя версия Mono уже поддерживает MSBuild, что должно быть более надежным вариантом.
2. @LexLi Мне бы действительно хотелось что-то кроссплатформенное.
3. очевидно, вы упустили тот факт, что MSBuild сейчас является открытым исходным кодом и кроссплатформенным.
4. @LexLi На самом деле я говорил о WinForms.
5. если я скажу, что Mono WinForms доставит вам больше боли, чем радости (как я испытал ранее в нескольких проектах), я не уверен, что вы внимательно выслушаете. В любом случае, вы сами по себе, и вы можете попробовать это.
Ответ №1:
Я исправил это, установив mono-devel
, чего, по-видимому, у меня не было, что не помешало monodevelop установить или скомпилировать исходный код, но это помешало xbuild работать должным образом, и он не мог сказать мне, почему.