编程语言
首页 > 编程语言> > c#-使用Mono 4.3.3在Debian / Jessie上构建MonoDevelop

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

作者:互联网

我正在尝试在我的Debian / Jessie盒上构建MonoDevelop(主分支).
到目前为止,我设法对其进行了编译,但是显示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

我建议这与nunit有关,后者会附带未安装的mono和PCL参考程序集.我知道MS作为安装程序发布了PCL参考组件,但是我无法在Linux机器上安装它们.因为它是.NET所需的msi安装程序或某种.

解决方法:

解决方法是下载

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

使用git.调整debian /目录下的控制文件,具体取决于

单xbuild

使用以下命令构建debian软件包

编译-i -us -uc -b

然后使用安装软件包

dpkg -i< package>

安装要做的是将PCL参考程序集复制到

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

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

标签:debian,mono,monodevelop,linux,c
来源: https://codeday.me/bug/20191027/1944002.html