使用 Mono 4.3.3 在 Debian/Jessie 上构建 MonoDevelop
Build MonoDevelop on Debian/Jessie using Mono 4.3.3
我正在尝试在我的 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 有关,nunit 附带单声道和 PCL 未安装的参考程序集。我知道 MS 发布了 PCL 参考程序集作为安装程序,但我无法将它们安装在我的 linux 盒子上。因为它是一个 .NET 需要的 msi 安装程序或类似的东西。
解决方法是下载
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 的任何人有所帮助。
我正在尝试在我的 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 有关,nunit 附带单声道和 PCL 未安装的参考程序集。我知道 MS 发布了 PCL 参考程序集作为安装程序,但我无法将它们安装在我的 linux 盒子上。因为它是一个 .NET 需要的 msi 安装程序或类似的东西。
解决方法是下载
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 的任何人有所帮助。