几个月来,我一直在使用 NuGet 来管理我内部创建的程序集,它运行良好。我最近“发现”了可移植类库,它也很棒——直到安装包的时候。
假设我有一个针对 Windows 应用商店应用程序的 .NET 4.5、SL5 和 .NET 的 PCL。我运行nuget spec
以创建 .nuspec 文件,编辑值,将其打包,然后将 .nupkg 添加到我们的内部提要中。如果我在 Package Explorer 中打开 .nupkg 文件,我会在 lib 下看到一个名为portable-win+net45+sl50 的内容文件夹。
当我尝试从另一个解决方案中的任何兼容项目安装包时,我收到以下消息:
“'Project.PCL' 无法安装,因为它与解决方案中的任何项目都不兼容。该包不针对任何框架。”
如果我在包资源管理器中手动创建 .nupkg,更新版本号,为每个目标框架添加一个 lib 文件夹(不是可移植文件夹)并将 Project.PCL.dll 添加到每个文件夹,我可以将包添加到解决方案中的兼容项目。但是每次我想更新 PCl 时都执行这个过程有点乏味(我一直在项目根文件夹中创建一个小 .cmd 文件以快速打包和部署)。
其他人有这个问题吗?如何以与其他类型项目相同的方式打包 PCL?
注意 - 我正在使用 VS 2012 Ultimate 和 NuGet 2.2