【发布时间】:2020-04-15 10:53:30
【问题描述】:
所以,我现在的一般设置是这样的: 我有一个可以访问的大型框架,它被用作一种货币化方式。在同一个解决方案中,我有使用该确切框架的 Xamarin.Android 应用程序。我必须这样做,因为该框架是与 Android 应用程序一起开发的,并且每次都进行 NuGet 引用管理或重新编译 .dll 不是一种选择。
在这个大型项目中还有另一个解决方案,它只引用 Xamarin.Android 应用项目。但不同之处在于,这个 Android 项目使用完全相同的 .cs 文件和所有这些文件,但本质上是来自更大解决方案的 .csproj 文件的副本。
它们之间的区别在于:一个使用对解决方案内部项目的直接引用,而其他引用由较大的解决方案生成的 .dll 文件。这是必需的,因为客户端应该可以访问较小的应用程序,但不能访问框架。
我现在明白,这个带有两个 .csproj 文件的解决方案在设计上是错误的,因为当我添加或删除任何文件时,我必须在两个地方删除它,问题是:处理引用的更好方法是什么安卓项目?
【问题讨论】:
-
使用“共享代码”项目并将其引用到其他两个项目
-
@SushiHangover 您指的是“共享项目”,例如,一个没有引用且不生成 .dll 的项目?这将需要在项目中进行大量的结构更改,并且很难向客户解释,因为他看不到第二个项目。我正在寻找一种解决方案,让我只有一个 .csproj,对此有什么想法吗?
-
是否可以选择创建一个单独的文件(例如
common.stuff)并在两个csproj文件中调用<import Project="common.stuff" />(see here)? -
@mu88 哇,我不知道这个机制!这就是我所需要的,有了这个“条件”属性和两个新的构建配置就可以了。非常感谢你!您能否发表您的评论作为答案,以便我将其标记为解决方案?
标签: c# .net xamarin xamarin.android