使用Mono 4.3.3在Debian / Jessie上构buildMonoDevelop

我试图在我的Debian / Jessie盒子上构buildMonoDevelop(主分支)。 到目前为止,我设法得到它编译,但它显示我5错误和1警告。

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 1 

我build议,它与单元和PCL参考组件没有安装的单元有关。 我知道MS发布PCL参考大会作为安装程序,但我不能将它们安装在我的Linux机器上。 因为它的.NET需要msi安装程序或types。

解决方案是下载

http://github.com/directhex/xamarin-referenceassemblies-pcl

使用git。 调整debian /目录下的控制文件不依赖

mono-xbuild

使用构建debian包

debuild -i -us -uc -b

然后使用安装包

dpkg -i <package>

安装所做的是将PCL引用程序集复制到

/usr/lib/mono/xbuild-frameworks/.NETPortable

在编译之后,MonoDevelop不会显示有关缺少PCL参考程序集的错误信息。 希望能帮助任何人尝试构建最新的MonoDevelop。