NuGet Package.NET4.0.3中的可移植类库

NuGet Package.NET4.0.3中的可移植类库,.net,visual-studio,nuget,nuget-package,.net,Visual Studio,Nuget,Nuget Package,我的可移植类库面向.Net 4.0.3及更高版本+SL5(对于System.Xml.Linq,需要4.0.3)。我们可以要求用户使用.NET4.0.3。我可以将生成的DLL引用到以.NETFramework4为目标的项目中。当我nuget spec项目文件pack然后尝试通过nuget添加引用时,会出现以下错误: 您正试图将此程序包安装到以“.NETFramework,Version=v4.0”为目标的项目中,但该程序包不包含任何与该框架兼容的程序集引用或内容文件 如何更改NuGet软件包以允许

我的可移植类库面向.Net 4.0.3及更高版本+SL5(对于
System.Xml.Linq
,需要4.0.3)。我们可以要求用户使用.NET4.0.3。我可以将生成的DLL引用到以.NETFramework4为目标的项目中。当我
nuget spec
项目文件
pack
然后尝试通过nuget添加引用时,会出现以下错误:

您正试图将此程序包安装到以“.NETFramework,Version=v4.0”为目标的项目中,但该程序包不包含任何与该框架兼容的程序集引用或内容文件


如何更改NuGet软件包以允许同一DLL与4.0一起使用?

打包时,是否在打包前创建了正确的子文件夹

.\NugetPackageBase\content\           (.png files, xdt files, etc)
.\NugetPackageBase\lib\net20        
.\NugetPackageBase\lib\net35
.\NugetPackageBase\lib\net40
您可以通过以下方式进行快速检查:

Making a copy of your ".nupkg" file.
Change the ".nupkg" extension to ".zip"

现在,您可以查看目录结构。

如果要更改目标框架,您可以在运行nuget.exe pack命令之前手动编辑.nuspec文件。

我使用nuget package Explorer修改了包,将
lib/portable-net403+sl50
更改为
lib/portable-net40+sl50
,并且工作正常。我想我需要找到一种方法让
pack
命令执行此操作。我在打包时引用项目文件,它正在处理结构创建。这是否意味着我需要手动设置nuspec文件以将其打包到正确的文件夹中?您是指指定文件和目标吗?