xbuild: сбой источника генерации задачи, считает несуществующие файлы более новыми, чем исходный файл

#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 работать должным образом, и он не мог сказать мне, почему.