【发布时间】:2016-07-11 10:31:47
【问题描述】:
我创建了库 Staty,我想通过 nuget 发布它以供其他开发人员使用。
我明确地将它创建为可移植类库,并将自己限制在非常基本的编程结构上。现在我想以一种其他人可以轻松使用我的库的方式发布它。我已经将我的库设置为具有以下目标的 PCL,这在我看来是最宽松的平台组合:
完成第一个版本后,我想发布它,使用 Nuget GUI 和以下 nuget 配置文件。我将release-build文件包含在portable-net4-sl4-wp7-win8文件夹下的包中(我也试过portable-net45-sl5-wp8-win8,没有任何效果)
为了验证我的库是否真正可移植,我想将它包含到另一个 PCL 项目中,但不幸的是,我只收到以下错误:无法安装包“Staty 1.0.0”。您正在尝试将此包安装到以“.NETPortable, Version=v4.5, Profile=Profile259”为目标的项目中,但该包不包含任何与该框架兼容的程序集引用或内容文件。
将其添加到常规控制台应用程序时,一切正常。当通过 References -> Add Reference ... -> Browse 直接将 dll 包含到同一个 PCL 项目中时,它也可以正常工作。
那么我发布包的方式有什么问题?
【问题讨论】:
-
检查目标列表,PCL 不在那里。您必须创建一个以列表中的其中一个为目标的测试项目。
-
拥抱 .NET Platform Standard 和 .NET Core,blog.lextudio.com/2016/03/how-to-port-snmp-library-to-net-core PCL 不再是正确的选择。
-
@Lex 一旦正式发布,我将立即更改为新的项目构建系统,并让我清楚如何使用它。无论如何感谢您的提示。
-
@AlexanderPacha 我宁愿说所有的构建块都准备好了(NuGet 3.x 和 .NET Core RC)。如果您的库的依赖项已经包含在 RC1 或即将推出的 RC2 中,您可以立即使用它,无需等待 RTM。 #SNMP 库可能需要进一步等待,因为它缺少所需的 API。
标签: c# .net nuget nuget-package portable-class-library