0

我在PCL Contrib的帮助下创建了一个可移植类库。为了使 PCL Contrib 正常工作,我了解您还必须包含适当的 Portable。项目中将使用可移植类库的平台.dll(平台是 Desktop、Silverlight 等)。我创建的 PCL 将被重新分发,我想通过不要求任何使用 PCL 的人必须包含多个 DLL 来使其工作来简化它的使用。有没有办法可以滚动 PCL DLL,即 Portable。平台DLL 和其他特定于平台的抽象(参见PCL 平台抽象)到每个平台的单个 DLL 中?

我想继续使用 PCL,以将我的大部分代码保留在一个可管理的区域中,即使它需要(在某种程度上)拆分为特定于平台的包。我觉得这将尽可能多地重用代码。

4

1 回答 1

1

我看到了几个不同的选项:

1)您可以使用 ILMerge 将所有二进制文件合并为一个二进制文件。您需要更改 PCLContrib 以识别这种新模式。

2) 从 PCLContrib 获取您需要的源代码,并将其用作库的实现细节。同样,您可能需要稍作修改。

3)利用 NuGet 使这更容易。我将很快将 PCLContrib 放在 NuGet 上,如果您的可再发行组件是简单的 NuGet 包,并且依赖于 PCLContrib 包,NuGet 将自动使消费者项目引用所有正确的二进制文件。

于 2012-10-19T16:02:07.217 回答