NuGet 和可移植类库 - 包不针对任何框架

2024-05-24

我已经使用 NuGet 来管理内部创建的程序集几个月了,而且它运行得很好。我最近“发现”了可移植类库,这也很棒 - 直到安装软件包为止。

假设我有一个针对 Windows 应用商店应用程序的 .NET 4.5、SL5 和 .NET 的 PCL。我跑nuget spec创建 .nuspec 文件、编辑值、打包并将 .nupkg 添加到我们的内部源中。如果我在 Package Explorer 中打开 .nupkg 文件,我会在 lib 下看到一个名为 portable-win+net45+sl50 的内容文件夹。

当我尝试从另一个解决方案中的任何兼容项目安装该包时,我收到以下消息:

“无法安装‘Project.PCL’,因为它与解决方案中的任何项目都不兼容。该包不针对任何框架。”

如果我在 Package Explorer 中手动创建 .nupkg,更新版本号,为每个目标框架添加 lib 文件夹(不是可移植文件夹)并将 Project.PCL.dll 添加到每个文件夹,我可以将该包添加到解决方案中的兼容项目。但是每次我想要更新 PCl 时都执行此过程有点乏味(我一直在项目根文件夹中创建一个小 .cmd 文件以快速打包和部署)。

其他人有这个问题吗?如何像其他类型的项目一样打包 PCL?

注意 - 我正在使用 VS 2012 Ultimate 和 NuGet 2.2


听起来也许nuget spec不适用于可移植类库 - 值得在NuGet 站点 http://nuget.codeplex.com/.

但是,您也可以从 NuGet Package Explorer 创建 .nuspec 文件。只需像以前一样创建包,然后选择“将元数据另存为...”将其另存为 .nuspec。之后,您可能需要手动编辑 nuspec 文件中的源路径,但您应该能够自动创建包。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NuGet 和可移植类库 - 包不针对任何框架 的相关文章

随机推荐