Estoy tratando de construir MonoDevelop (rama maestra) en mi caja Debian/Jessie. Hasta ahora logré compilarlo, pero me muestra 5 errores y 1 advertencia.
Build FAILED. Warnings: /home/max/monodevelop/main/Main.sln (default targets) -> (Build target) -> /home/max/monodevelop/main/external/RefactoringEssentials/RefactoringEssentials/RefactoringEssentials.csproj (default targets) -> /usr/lib/mono/4.5/Microsoft.Common.targets (GetReferenceAssemblyPaths target) -> /usr/lib/mono/4.5/Microsoft.Common.targets: warning : Unable to find framework corresponding to the target framework moniker '.NETPortable,Version=v4.5,Profile=Profile7'. Framework assembly references will be resolved from the GAC, which might not be the intended behavior. Errors: /home/max/monodevelop/main/Main.sln (default targets) -> (Build target) -> /home/max/monodevelop/main/src/addins/NUnit/NUnitRunner/NUnitRunner.csproj (default targets) -> /usr/lib/mono/4.5/Microsoft.CSharp.targets (CoreCompile target) -> NUnitTestRunner.cs(105,44): error CS0103: The name `LoggingThreshold' does not exist in the current context NUnitTestRunner.cs(105,14): error CS1501: No overload for method `Run' takes `4' arguments NUnitTestRunner.cs(124,25): error CS0246: The type or namespace name `ParameterizedMethodSuite' could not be found. Are you missing an assembly reference? NUnitTestRunner.cs(124,25): error CS0150: A constant value is expected /home/max/monodevelop/main/Main.sln (default targets) -> (Build target) -> /home/max/monodevelop/main/external/RefactoringEssentials/RefactoringEssentials/RefactoringEssentials.csproj (default targets) -> /usr/lib/mono/4.5/Microsoft.Common.targets (GetReferenceAssemblyPaths target) -> /usr/lib/mono/4.5/Microsoft.Common.targets: error : PCL Reference Assemblies not installed. 1 Warning(s) 5 Error(s) Time Elapsed 00:00:07.6677160 Makefile:1086: recipe for target 'sln_build' failed make[2]: *** [sln_build] Error 1 make[2]: Leaving directory '/home/max/monodevelop/main' Makefile:645: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/home/max/monodevelop/main' Makefile:23: recipe for target 'all-recursive' failed make: *** [all-recursive] Error 1Sugiero que tiene algo que ver con nunit que se envía con ensamblajes de referencia mono y PCL que no están instalados. Sé que MS lanzó ensamblajes de referencia PCL como instalador, pero no puedo instalarlos en mi caja de Linux. Porque es un instalador msi necesario de .NET o algo así.
La solución es descargar
http://github.com/directhex/xamarin-referenceassemblies-pcl
usando git. Ajuste el archivo de control en el directorio debian/ sin depender de
mono-xbuild
Compile el paquete debian usando
debuild -i -us -uc -b
luego instalar el paquete usando
dpkg -i <package>
Lo que hace la instalación es copiar los ensamblajes de referencia PCL a
/usr/lib/mono/xbuild-frameworks/.NETPortable .
Después de esta compilación, MonoDevelop no muestra el error sobre la falta de ensamblajes de referencia PCL. Espero que ayude a cualquiera que intente construir el último MonoDevelop.