可再分发库中的可移植类库贡献

时间:2012-10-18 18:56:31

标签: .net silverlight dll portable-class-library

我在PCL Contrib的帮助下创建了一个可移植类库。要使PCL Contrib工作,我了解您还必须在项目中包含相应的Portable。 Platform .dll( platform 是Desktop,Silverlight等)。利用您的便携式类库。我创建的PCL将被重新分发,我想通过不要求任何使用PCL的人必须包含多个DLL来使其工作来简化其使用。有没有办法可以将PCL DLL,Portable。 Platform DLL以及其他特定于平台的抽象(请参阅PCL Platform Abstraction)转换为每个平台的单个DLL?

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

1 个答案:

答案 0 :(得分:1)

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

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

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

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