【问题标题】:is there any alternate code for cross platform是否有跨平台的替代代码
【发布时间】:2020-09-08 11:14:04
【问题描述】:

我的项目基于 windows,现在我将其转换为 Linux 和 Mc。 Sp 我想为跨平台更改此代码,以便它可以在所有平台上工作。

using Microsoft.Win32;

public class Program
    {
        private const string DefaultInstallPath = @"C.....";
        private const string ProductRegistryKey = @"......";
        private static string _appPath;
        //....
}

public static string AppPath
        {
            get
            {
                if (string.IsNullOrEmpty(_appPath))
                {
                    var currentDirectory = Directory.GetCurrentDirectory();

                    if (Debugger.IsAttached)
                    {
                        _appPath = currentDirectory;
                    }
                    else
                    {
                        _appPath = (string)Registry.GetValue(ProductRegistryKey, "InstallPath", DefaultInstallPath);
                    }

                    if (_appPath == null)
                    {
                        _appPath = DefaultInstallPath;
                    }

                    if (!Directory.Exists(_appPath))
                    {
                        _appPath = currentDirectory;
                    }
                }
                return _appPath;            
            }
        }

我想要适用于所有平台的代码。那我该怎么做呢?

【问题讨论】:

    标签: asp.net asp.net-core .net-core asp.net-core-3.1


    【解决方案1】:

    在 asp.net core 上创建一个应用程序。

    核心框架是为多平台开发而创建的。

    我不知道您现在使用的是什么框架,但我假设您使用的是 .net 框架。

    从 Visual Studio 创建一个应用程序并选择一个基于 .net 核心框架的应用程序。 MVC、控制台等。

    基本上你在windows上做的所有编码理论上都可以在linux上工作,因为linux有它的框架版本可以解释你在windows上做的编码。

    目前所有的多平台开发都是通过C#核心完成的。

    希望对你有帮助

    【讨论】:

    • 我正在将我的项目从 .net 框架转换为 .net core 3.1,此代码与更新的 .netcore3.1 相关
    • 好人。 3.1 是 .net 核心的最新稳定版本。如果此时我没有记错的话。当然,要在 linux 上运行它,您需要在那里安装适当的框架。但通常人们只是将它创建为可以在 linux 中运行的 docker 容器。如果有帮助,请不要忘记为答案投票:D
    • 哦,你能给我那个代码吗,这有助于我更好地理解你的评论
    • 你不需要在linux上安装asp.net core。在 .net 核心上开发应该可以在 linux 上正常工作。如果你想在 linux 上开发和运行应用程序,那么你需要安装 .net core 3.1 for linux。微软。 Install page 在核心 3.1 上开发将使您能够将其添加到 nginx、基于 linux 系统的基于 apache docker 的环境等环境中。把它想象成 JAVA。在一个操作系统上开发并在所有操作系统上工作This page 提供了一个简单的指南
    • 还有什么东西可以替代这个win32或这个win32的替代品,用于跨平台
    猜你喜欢
    • 2010-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-12
    • 2022-06-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多