简体   繁体   English

使用Mono 4.3.3在Debian / Jessie上构建MonoDevelop

[英]Build MonoDevelop on Debian/Jessie using Mono 4.3.3

I'am trying to build MonoDevelop(master branch) on my Debian/Jessie box. 我试图在我的Debian / Jessie盒子上构建MonoDevelop(master分支)。 So far I managed to get it compiled, but it shows me 5 errors and 1 warning. 到目前为止,我设法将其编译,但它显示了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

I suggest that it has something to do with nunit which shipps with mono and PCL Reference Assemblies which are not installed. 我建议它与nunit有关,它与未安装的单声道和PCL参考组件有关。 I know MS released PCL Reference Assemblies as an installer, but I can't install them on my linux box. 我知道MS发布了PCL Reference Assemblies作为安装程序,但是我无法在我的linux机器上安装它们。 Because its an .NET needed msi installer or sort of. 因为它的.NET需要msi安装程序或者类似的。

The solution is to download 解决方案是下载

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

using git. 用git。 Adjust the control file under debian/ directory not depending on 在debian /目录下调整控制文件不依赖于

mono-xbuild

Build the debian package using 使用构建debian包

debuild -i -us -uc -b

then installing the package using 然后使用安装包

dpkg -i <package>

What the installation does is to copy the PCL reference assemblies to 安装的作用是将PCL参考组件复制到

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

After this compiling MonoDevelop does not show error about missing PCL reference assemblies. 在此编译之后,MonoDevelop不会显示有关缺少PCL引用程序集的错误。 Hope that helps anyone trying to build latest MonoDevelop. 希望能帮助任何人尝试构建最新的MonoDevelop。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM