目前,要获取Xamarin版本信息,我们需要执行以下操作: Xamarin工作室 Xamarin Studio>关于Xamarin Studio>显示详细信息>复制信息[按钮]
我需要将这些信息放在文件中或在控制台中编写。我们有命令这样做吗?
谢谢。
答案 0 :(得分:3)
获取Visual Studio for Mac版本:
/usr/libexec/PlistBuddy -c 'print :CFBundleVersion' /Applications/Visual\ Studio.app/Contents/Info.plist
获取当前使用的Mono版本:
mono --version
或者您可以查看当前版本链接到的内容:
la /Library/Frameworks/Mono.framework/Versions/Current
类似于Xamarin.iOS和Xamarin.Android框架:
la /Library/Frameworks/Xamarin.Android.framework/Versions/Current
la /Library/Frameworks/Xamarin.iOS.framework/Versions/Current
编辑:如果您只需要la
命令中的版本,则可以使用| sed 's/^.*-> //g'
对命令进行后缀。这将替换->
之前的所有内容,包括没有任何内容的箭头,因此它只显示版本号。如下所示:
la /Library/Frameworks/Xamarin.iOS.framework/Versions/Current | sed 's/^.*-> //g'
会给11.4.0.93
。
对于Mono.framework,它是一个绝对路径,因此您可以再次管道到sed 's!.*/!!'
以获取"文件名":
la /Library/Frameworks/Mono.framework/Versions/Current | sed 's/^.*-> //g' | sed 's!.*/!!'
修改强>
将所有这些添加到脚本中:
#!/usr/bin/env bash
mono_version=$(ls -n /Library/Frameworks/Mono.framework/Versions/Current | sed 's/^.*-> //g' | sed 's!.*/!!')
vs_version=$(/usr/libexec/PlistBuddy -c 'print :CFBundleVersion' /Applications/Visual\ Studio.app/Contents/Info.plist)
ios_version=$(ls -n /Library/Frameworks/Xamarin.iOS.framework/Versions/Current | sed 's/^.*-> //g')
android_version=$(ls -n /Library/Frameworks/Xamarin.Android.framework/Versions/Current | sed 's/^.*-> //g')
echo "mono:" $mono_version
echo "vs version:" $vs_version
echo "ios version:" $ios_version
echo "android version:" $android_version
请记住在chmod +x
文件上运行.sh
。然后你可以用sh version.sh
来运行它,它会吐出来:
mono: 5.4.1
vs version: 7.3.0.708
ios version: 11.4.0.93
android version: 8.1.0-21