从终端构建Xamarin.Mac项目

时间:2016-08-09 09:56:04

标签: xamarin build headless xamarin.mac mdtool

我正在尝试使用mdtool从终端构建Xamarin.Mac应用。

输入:

$ Applications/Xamarin\ Studio.app/Contents/MacOS/mdtool build -p:"Project" -t:Build -c:"Release" "../../Solution.sln"

输出:

error: The Xamarin Studio Community Edition of Xamarin.Mac does not support building outside of Xamarin Studio. Please go to https://store.xamarin.com to upgrade to the Business Edition.

由于收购微软,我认为它现在免费。 AFAIK还没有商业版。

还有办法从终端构建吗?我正在使用最新的Xamarin版本。

2 个答案:

答案 0 :(得分:1)

如果您要构建基于Xamarn.Mac 统一的项目,则可以使用xbuild

调试:

xbuild CLIBuild.csproj /target:Build /p:Configuration=Debug

推出:

xbuild CLIBuild.csproj /target:Build /p:Configuration=Release

注意:对于"发布" build确保您的Apple OS-X代码签名密钥安装在钥匙串中

注意:" new" x-plat OS-X msbuild (14.1.0.0)尚未完成。它未能包括某些引用。我不知道它是msbuild 问题还是Xamarin.Mac .targets个文件中的问题

如果您要构建基于Xamarin.Mac 经典的项目,则以下内容应该有效:

/Applications/Xamarin\ Studio.app/Contents/MacOS/mdtool build CLIBuild.csproj

注意:我刚刚对此进行了测试,它仍然向" activation.xamarin.com"发出请求。由于某种原因,但在社区版上为我构建正确。我通常不再开发基于Classic-API的应用程序,因此不能通过mdtool进行构建。

我会报告此问题@ https://bugzilla.xamarin.com

答案 1 :(得分:0)

请注意,现在在Mac的Visual Studio 2017中,mdApplication在/ Applications / Visual Studio.app文件夹下被vstool取代。

我的构建行如下:

/Applications/Visual\ Studio.app/Contents/MacOS/vstool --verbose build --f --target:Build --configuration:"Debug|iPhone" --buildfile:my.sln > $BuildResults

另请参阅:mdtool creates IPA file when using release but not when using debug configuration

2019年1月更新,我在网络上几乎找不到关于vstool可以做什么以及如何使用它的指南。我相信它是mdtool的微软版本,它是Github(mono / monodevelop)的Monodevelop项目的一部分。 mdtool源代码位于monodevelop / main / src / tools文件夹下。它似乎是Monodevelop / Visual Studio安装中可用的各种工具的争夺者。

运行

/Applications/Visual\ Studio.app/Contents/MacOS/vstool -q 

将列出可用的工具。

在Monodevelop / main / man中,还有一个手册页作为Monodevelop构建过程的一部分,它提供了更多启发。熟悉该项目的人向我展示了如何使用特定命令。