如何以编程方式检索 Visual Studio for Mac 的版本信息?

编程入门 行业动态 更新时间:2024-10-28 11:33:22
本文介绍了如何以编程方式检索 Visual Studio for Mac 的版本信息?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

限时送ChatGPT账号..

我想在 Xamarin 应用程序的构建作业期间检索 Visual Studio for Mac 的版本信息.目标是将它们作为调试信息包含在二进制文件中.有没有办法以编程方式或使用 msbuild 的命令语句获取 Visual Studio、Xamarin.iOS 和 Xamarin.Android 的版本号?

I want to retrieve the version information of Visual Studio for Mac during a build job of a Xamarin App. The goal is to include them as debug information in the binary. Is there a way to get the version number of Visual Studio, Xamarin.iOS and Xamarin.Android programmatically or with a command statement using msbuild?

手动可以获取以下信息:<代码>Visual Studio >关于 Visual Studio >显示详细信息复制信息[按钮]

Manually one can get the information under: Visual Studio > About Visual Studio > Show Details > Copy Information [button]

=== Visual Studio Community 2017 for Mac ===

Version 7.6.11 (build 9)
Installation UUID: f7e73512-ad50-4119-a682-e2cf05031ad6
Runtime:
    Mono 5.12.0.309 (2018-02/39d89a335c8) (64-bit)
    GTK+ 2.24.23 (Raleigh theme)
    Xamarin.Mac 4.4.1.178 (master / eeaeb7e6)

    Package version: 512000309

=== NuGet ===

Version: 4.3.1.4445

=== .NET Core ===

Runtime: /usr/local/share/dotnet/dotnet
Runtime Versions:
    2.1.2
    2.1.1
    2.0.5
    2.0.4
SDK: /usr/local/share/dotnet/sdk/2.1.302/Sdks
SDK Versions:
    2.1.302
    2.1.301
    2.1.4
    2.1.3
MSBuild SDKs: /Library/Frameworks/Mono.framework/Versions/5.12.0/lib/mono/msbuild/15.0/bin/Sdks

=== Xamarin.Profiler ===

Version: 1.6.3
Location: /Applications/Xamarin Profiler.app/Contents/MacOS/Xamarin Profiler

=== Xamarin.Android ===

Version: 9.0.0.20 (Visual Studio Community)
Android SDK: /Users/christopher/Library/Developer/Xamarin/android-sdk-macosx
    Supported Android versions:
        4.0.3 (API level 15)
        4.1   (API level 16)
        4.2   (API level 17)
        4.4   (API level 19)
        5.0   (API level 21)
        5.1   (API level 22)
        6.0   (API level 23)
        7.0   (API level 24)
        7.1   (API level 25)
        8.0   (API level 26)
        8.1   (API level 27)

SDK Tools Version: 26.1.1
SDK Platform Tools Version: 28.0.1
SDK Build Tools Version: 27.0.3

Java SDK: /usr
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)

Android Designer EPL code available here:
https://github/xamarin/AndroidDesigner.EPL

=== Apple Developer Tools ===

Xcode 10.1 (14460.46)
Build 10B61

=== Xamarin.Mac ===

Version: 5.0.0.0 (Visual Studio Community)
Hash: b40230c0
Branch: 
Build date: 2018-09-27 11:41:37-0400

=== Xamarin.iOS ===

Version: 12.2.1.10 (Visual Studio Community)
Hash: f2a05edd
Branch: d15-9
Build date: 2018-10-31 18:55:57-0400

=== Xamarin Inspector ===

Version: 1.4.3
Hash: db27525
Branch: 1.4-release
Build date: Mon, 09 Jul 2018 21:20:18 GMT
Client compatibility: 1

=== Build Information ===

Release ID: 706110009
Git revision: d7cd66f5e3acd3d46ba0b94a0c935378f828bde0
Build date: 2018-10-31 17:17:12+00
Build branch: release-7.6
Xamarin extensions: bc9b985bfcb480b04a208a6d4045adc443a07857

=== Operating System ===

Mac OS X 10.13.6
Darwin 17.7.0 Darwin Kernel Version 17.7.0
    Thu Jun 21 22:53:14 PDT 2018
    root:xnu-4570.71.2~1/RELEASE_X86_64 x86_64

推荐答案

这是我的一个 Global.cs 的简化版本,其中包含在构建过​​程中获得的版本信息:

Here is a simplified version of one of my Global.cs that contains version information obtained during the build:

namespace SomeVersionInfo
{
    public static class Globals
    {
        public const string VS4MVersion = "SushiVS4MVersion";
        public const string XiOSVersion = "SushiXiOSVersion";
        public const string XDroidVersion = "SushiXDroidVersion";
    }
}

macOS Bash 文件

VS4MVersion=`/usr/libexec/PlistBuddy -c 'Print CFBundleVersion' /Applications/Visual\ Studio\ \(Preview\).app/Contents/Info.plist`
XDroidVersion=$(< /Library/Frameworks/Xamarin.Android.framework/Versions/Current/version)
XiOSVersion=$(< /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/Version)

sed -e 's/SushiVS4MVersion/'"$VS4MVersion"'/g' Global.template > Global.cs
sed -i '' -e "s/SushiXiOSVersion/$XiOSVersion/g" Global.cs
sed -i '' -e "s/SushiXDroidVersion/$XDroidVersion/g" Global.cs

结果:

namespace SomeVersionInfo
{
    public static class Globals
    {
        public const string VS4MVersion = "8.0.0.869";
        public const string XDroidVersion = "9.1.5";
        public const string XiOSVersion = "12.2.1.13";
    }
}

这篇关于如何以编程方式检索 Visual Studio for Mac 的版本信息?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

更多推荐

[db:关键词]

本文发布于:2023-04-24 19:26:42,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1070166.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:版本   方式   信息   Studio   Visual

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!