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