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

Aly*_*yce 5 nuget portable-class-library

我一直在使用NuGet管理我内部创建的程序集几个月,而且它运行良好.我最近'发现'便携式类库,这也很棒 - 直到安装软件包的时候.

假设我有一个针对Windows Store应用程序的.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

Dan*_*ted 2

听起来也许nuget spec不适用于可移植类库 - 值得在NuGet 站点上发起一个线程或提交一个问题。

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