【问题标题】:Is there a most efficient way of structuring a Xamarin.Forms project?是否有一种最有效的方式来构建 Xamarin.Forms 项目?
【发布时间】:2019-10-24 03:16:54
【问题描述】:

我正在使用Xamarin.Forms 构建一个应用程序以部署到 Android 和 iOS 设备,每个平台将有两个已发布的变体。我创建了解决方案并添加了两个项目,Test.FreeTest.Pro,这两个项目都包含应用的 Android 和 iOS 版本。

这是我电脑上的样子,我觉得还可以。

这是解决方案资源管理器上 Visual Studio 中的外观

这让我很困扰,因为Test.iOS 项目在Test.Free 项目分支下,而它应该在Test 下。

这是我目前仅有的两种配置。

第一个是我添加新项目时的样子。

我的目标是拥有一个版本的应用程序代码,并且 在其中构建基础应用程序并将其添加到应用程序的Test.FreeTest.Pro 版本中,然后在添加了所有共同功能后继续定制每个项目。

为什么Test.iOSTest.Free 之下?这是我错过了IDE 设置的结果吗?

【问题讨论】:

  • 如果我需要进一步澄清,请告诉我。

标签: android ios visual-studio xamarin xamarin.forms


【解决方案1】:

我应该使用不同的配置,只有一个 iOS 项目和一个 Android 项目,并在代码不相同的地方使用条件编译。

然后我在 CI 管道中处理包名称、版本号、图标等。

【讨论】:

    【解决方案2】:

    我完全同意丹尼尔的回答。

    所以,你应该有一个共享项目,一个 Android 和一个 iOS 项目。

    然后,您可以进行多种配置,例如(免费或专业或任何您喜欢的名称)。 在您的项目设置中,附加条件编译符号(如 FREE 或 PRO),并在您想要区分免费版和专业版的代码中使用它们。 示例:

    public void SomeMethod()
    {
    
    #if FREE
                //do something
    #elif PRO
                //require a license for example
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-18
      • 2012-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多