从终端构建Xamarin.Mac项目

hfsqlsce  于 2022-12-07  发布在  Mac
关注(0)|答案(2)|浏览(149)

我正在尝试使用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.
我以为它现在是免费的,因为微软的收购。也没有商业版可用了。
我用的是最新的Xamarin版本

b5buobof

b5buobof1#

如果要生成基于Xamarn.MacUnified得项目,则可以使用xbuild
debugging :

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

放行:

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

注:对于“Release”版本,请确保Apple OS-X代码签名密钥已安装在钥匙串中
注意:“新的”x-plat OS-X**msbuild**(14.1.0.0)还不能正常工作。它在包含某些引用时失败。我不知道这是msbuild * 问题 * 还是Xamarin.Mac.targets文件中的某个问题
如果要生成基于Xamarin.MacClassic的项目,则应执行以下操作:

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

注意:我刚刚测试了这个,它仍然会出于某种原因向“www.example.com“发出请求activation.xamarin.com,但在社区版上为我正确构建。我通常不再开发基于Classic-API的应用程序,因此不太会通过mdtool构建)。
我会在https://bugzilla.xamarin.com报告此问题

djp7away

djp7away2#

**2022年10月更新:**对于Visual Studio for Mac 2022,msbuild命令是vstool(已取代mdtool)的推荐和支持的替代命令。

msbuild -target:Build "my.sln" -property:Configuration="Debug" -property:Platform="iPhone"

原始答案请注意,现在在Visual Studio 2017 for Mac中,mdtool已替换为/Applications/Visual www.example.com文件夹下的vstoolStudio.app。

我的构建行如下所示:

/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的Monodevelope项目的一部分(mono/monodevelope)。mdtool源代码位于monodevelope/main/src/tools文件夹下。它似乎是Monodevelope/Visual Studio安装。

正在运行

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

将列出可用的工具。
在Monodevelope构建过程中还有一个man页面,在monodevelope/main/man中,它提供了更多的启示。一个非常熟悉该项目的人向我展示了如何使用特定的命令。

相关问题