1

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

输入:

$ 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 版本。

4

2 回答 2

1

如果您正在构建基于Xamarn.Mac Unified的项目,您可以使用xbuild

调试:

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

发布:

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

注意:对于“发布”版本,请确保您的 Apple OS-X 代码签名密钥已安装在钥匙串中

注意:“新”x-plat OS-X msbuild(14.1.0.0) 还不能正常工作。它未能包含某些参考。我不知道这是其中一个文件的msbuild 问题还是问题Xamarin.Mac .targets

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

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

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

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

于 2016-08-09T13:11:21.850 回答
0

请注意,现在在 Visual Studio 2017 for Mac 中,mdtool 已替换为 /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 在使用发布时创建 IPA 文件,但在使用调试配置时不创建

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

跑步

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

将列出可用的工具。

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

于 2019-01-08T14:10:27.393 回答