2013-10-10 27 views
1

我的便携式类库面向.NET 4.0.3及更高版本+ SL5(需要4.0.3,适用于System.Xml.Linq)。我们没有要求用户使用.Net 4.0.3。我可以将所得到的DLL引用到一个以.Net Framework 4为目标的项目中。当我nuget spec项目文件,pack然后尝试添加通过的NuGet的参考,它提供了以下错误:NuGet Package中的便携式类库.Net 4.0.3

“您正在尝试这个软件包安装到一个项目,目标的.NETFramework,版本= V4.0 ',但该程序包不包含任何与该框架兼容的程序集引用或内容文件“

如何更改我的NuGet包以允许使用4.0的相同DLL工作?

+0

我用NuGet包资源管理器修改了软件包,将'lib/portable-net403 + sl50'改成了'lib/portable-net40 + sl50',它工作正常。我想我需要找到一种方法让'pack'命令执行此操作。 – Ethan

回答

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" 

现在你可以看看里面看到的目录结构。

+0

我在打包时引用了项目文件,它正在处理结构创建。这是否意味着我需要手动设置nuspec文件以打包到正确的文件夹中? – Ethan

0

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

+0

你的意思是指定一个文件和目标? – Ethan