【问题标题】:Portable Class Library in NuGet Package .Net 4.0.3NuGet 包 .Net 4.0.3 中的可移植类库
【发布时间】:2013-10-18 13:34:11
【问题描述】:

My Portable Class Library 面向 .Net 4.0.3 及更高版本 + SL5(System.Xml.Linq 需要 4.0.3)。我们可以要求用户拥有 .Net 4.0.3。我可以获取生成的 DLL 并在针对 .Net Framework 4 的项目中引用它就好了。当我nuget spec项目文件pack然后尝试通过NuGet添加引用时,出现以下错误:

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

如何更改我的 NuGet 包以允许相同的 DLL 与 4.0 一起使用?

【问题讨论】:

  • 我使用 NuGet 包资源管理器修改了包,将 lib/portable-net403+sl50 更改为 lib/portable-net40+sl50 并且它工作正常。我想我需要找到一种方法让pack 命令执行此操作。

标签: .net visual-studio nuget nuget-package


【解决方案1】:

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

.\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"

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

【讨论】:

  • 我在打包时引用了项目文件,它正在处理结构创建。这是否意味着我需要手动设置 nuspec 文件才能打包到正确的文件夹中?
【解决方案2】:

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

【讨论】:

  • 你的意思是指定文件和目标吗?
猜你喜欢
  • 1970-01-01
  • 2016-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多