在控制台或文件中写入 Xamarin 版本信息
Write Xamarin version information in Console or file
目前,要获取 Xamarin 版本信息,我们需要执行以下操作:
Xamarin工作室
Xamarin Studio > 关于 Xamarin Studio > 显示详细信息 > 复制信息 [button]
我需要将这些信息保存在文件中或将它们写入控制台。我们有执行此操作的命令吗?
谢谢。
要获取 Mac 版本的 Visual Studio:
/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!.*/!!'
以获取 "filename":
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
记得在 .sh
文件上 运行 chmod +x
。然后你可以用 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
目前,要获取 Xamarin 版本信息,我们需要执行以下操作: Xamarin工作室 Xamarin Studio > 关于 Xamarin Studio > 显示详细信息 > 复制信息 [button]
我需要将这些信息保存在文件中或将它们写入控制台。我们有执行此操作的命令吗?
谢谢。
要获取 Mac 版本的 Visual Studio:
/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!.*/!!'
以获取 "filename":
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
记得在 .sh
文件上 运行 chmod +x
。然后你可以用 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