为可移植类库创建 NuGet 包时出错

2024-03-13

我是 Nuget 新手,我正在尝试为可移植类库项目创建一个 NuGet 包,该项目对我创建的另一个可移植类库具有包依赖性。

我遇到了一个问题,在调用时收到错误块包对于项目文件测试组件2.csproj(我从 VS 2013 中的 Portable for Universal Apps 模板创建了这个)。该库依赖于从另一个名为的 PCL 创建的 nuget 包测试组件1.

创建的包似乎从未包含此依赖项(控制台输出甚至显示“依赖项:无”)。但是它位于packages.config 文件中测试组件2项目的依赖关系已明确列出:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="TestComponent1" version="1.0" targetFramework="portable-win81+wpa81" />
</packages>

因此,在我的情况下,我从包含 TestComponent2.csproj 和 packages.config 的文件夹中的名为 TestComponent2 的项目的命令行调用以下命令,并打开详细信息:

> nuget pack TestComponent2.csproj -Verbosity Detailed

警告:无法从“TestComponent2.dll”中提取元数据。 警告:System.IO.FileNotFoundException:无法加载文件或程序集“System.Runtime,Version=4.0.10.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”或其依赖项之一。该系统找不到指定的文件。 文件名:'System.Runtime,Version=4.0.10.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a' ---> System.IO.FileNotFoundException:无法加载文件或程序集'System.Runtime,Version=4.0.10.0,Culture =中性,PublicKeyToken = b03f5f7f11d50a3a' 或其依赖项之一。该系统找不到指定的文件。 文件名:'System.Runtime,版本=4.0.10.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a' 在 System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName、字符串 codeBase、证据 assemblySecurity、RuntimeAssembly locationHint、StackCrawlMark& stackMark、IntPtr pPrivHostBinder、布尔 throwOnFileNotFound、布尔 forIntrospection、 布尔抑制安全检查) 在 System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName、字符串 codeBase、证据 assemblySecurity、RuntimeAssembly locationHint、StackCrawlMark& stackMark、IntPtr pPrivHostBinder、布尔 throwOnFileNotFound、布尔 forIntrospection、B olean 抑制安全检查)

...

添加文件“mypath\TestComponent2.dll”以打包为“lib\portable-win81+wpa81\TestComponent2.dll”

找到packages.config。使用列为依赖项的包
警告:未指定说明。使用“描述”。
警告:未指定作者。使用“我的名字”。

ID:测试组件2
版本:1.0
作者:我的名字
描述: 描述
依赖关系:无

添加了文件“lib\portable-win81+wpa81\TestComponent2.dll”。

已成功创建包“mypath\TestComponent2.1.0.nupkg”。

如果我打电话核心规格首先我还收到以下错误: 警告:无法从“TestComponent2.dll”中提取元数据。 使用“TestComponent2.nuspec”作为元数据。 替换令牌“标题”没有任何价值。

nuget 为新的通用 PCL 创建包是否存在问题?或者也许我有一些配置错误?我正在使用 Nuget 2.8。


这个问题是3.0.0 中修补 https://nuget.codeplex.com/SourceControl/network/forks/StephenCleary/Issue4013/contribution/6798#!/tab/changes

直到3.0.0发布,我已经创建了这个存储库 https://bitbucket.org/patsissons/nugetpclissue其中包含我过去几个月一直在使用的已修补的可执行文件。该存储库还包含一个示例项目,可以更好地可视化问题以及在简单但意外的情况下如何发生该问题。

可执行文件的直接链接位于此处:https://bitbucket.org/patsissons/nugetpclissue/src/HEAD/.nuget-patched/NuGet.exe?at=master https://bitbucket.org/patsissons/nugetpclissue/src/HEAD/.nuget-patched/NuGet.exe?at=master

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为可移植类库创建 NuGet 包时出错 的相关文章

随机推荐

  • 使用 MySQL 'POINT' 和 PHP 通过表单插入纬度和经度点

    我正在制作一个基于网络的应用程序 允许用户根据他们的输入创建路线 用户将路径点添加到谷歌地图 获取纬度和经度点并将其复制到网站上的表格中 然后使用 PHP 将数据发送到 MySQL 数据库 我在将纬度和经度点添加到 MySQL 数据库时遇到
  • 如何保持Lucene索引与Mysql数据库同步?

    我正在尝试利用 Lucene 在我的应用程序中开发全文搜索 这需要基于我的 mysql 数据库构建索引 我想知道如何使这些索引与数据库保持同步 我想出了办法 1 在业务逻辑中紧密地添加额外的代码来更新搜索索引 2 定期运行单独的任务来重建索
  • 在 IRB rub​​y​​ 上加载文档

    我正在尝试将文件加载到 IRB 中 我将文件保存在桌面上 标题为 Ruby rb 如何将文件加载到 IRB 中 我尝试过使用 加载 Ruby rb 加载 Ruby 和 需要 Ruby rb 这些文件在我的桌面上 这里是否需要路径目录 该文档
  • 使用 Visual Studio 2008 / IE7 在远程站点上调试 JavaScript

    我想使用 IE7 和 Visual Studio 2008 调试驻留在第 3 方站点上的 JavaScript 如何闯入调试器 没有 JavaScript 错误 并且我无法访问 JavaScript 源 因为它位于第三方网站上 我只是想浏览
  • FusedLocationProviderClient.removeLocationUpdates 始终返回失败

    我有一个activity延伸基地class called LocationAwareActivity所有这些LocationAwareActivity activity所做的是创建一个位置服务客户端 LocationServices get
  • 类是托管的,但未在 persistence.xml 文件中列出

    我在我的项目中遇到以下异常 类 com testApp domain Register 被管理 但未在 persistence xml 文件中列出 My persistence xml文件看起来像这样
  • PyQt QListWidget 自定义项

    我如何创建一个 QListWidgetItem 它下面有 1 个图像和 2 个标签 字符串 并且支持 css 这是我尝试过的最后一件事 class CustomListWidgetItem QListWidgetItem QLabel de
  • 隐藏 IONIC-3 中的离子输入验证边框[重复]

    这个问题在这里已经有答案了 我使用的是 ionic 3 我想知道如何删除验证边框颜色 红色和绿色 I tried to removed using this css item inner border bottom color transp
  • 人类可读订单代码的完美哈希函数

    我正在尝试生成从 比方说 无符号 32 位内部 ID 派生的非连续人类可读订单代码 该 ID 从 1 开始 并针对每个新订单自动递增 在下面的示例代码中 每个 hash是独一无二的吗 我计划对 hash使其易于人类阅读
  • Java(14 及以上)instanceof 转换为泛型(例如 List

    我正在使用 Jackson 反序列化 JSON 有效负载 我有一些字段可以是对象或对象数组 所以在我的Java代码中我声明 class Outer private Object inner 我知道内在可以是Map
  • 从 Wikipedia API 中提取数据

    我希望能够使用 json 从维基百科中提取标题和描述 所以 维基百科不是我的问题 我是 json 的新手 想知道如何使用它 现在我知道有数百个教程 但我已经工作了几个小时 它只是不显示任何内容 这是我的代码
  • 如何通过peerJS 点对点连接接收数据?

    我正在尝试使用peerJS 连接两个对等点 我几乎只是在遵循他们的 入门 但我仍然在挣扎 下面是我到目前为止得到的代码
  • Java:从文件加载图像,编辑并添加到 JPanel

    我想将计算机中的图像加载到 2D Graphics 中 以便之后可以对其进行编辑 然后我想将其添加到JPanel 如果您需要查看我的项目 我可以将其发送给您 void loadImage FileDialog fd new FileDial
  • OSX 10.8 xcrun(没有这样的文件或目录)

    执行时gem install jekyll在 OSX 10 8 上安装了来自 Apple 开发人员站点的独立命令行工具包 无 Xcode 时 我遇到以下错误 构建本机扩展 这可能需要一段时间 错误 安装 jekyll 时出错 错误 无法构建
  • SQL 查询限制来自一个表的行,而不是结果集

    我正在运行一个带有连接的简单查询 类似于 SELECT t1 a t2 b FROM t1 LEFT JOIN t2 ON LIMIT 5 As t1有很多行t2 任何大于 2 的数字 LIMIT 语句不会返回前 5 行t1以及来自的相应条
  • const 有什么问题吗?

    已知的不足有哪些const在 C 和 C 0x 中 唯一的问题是const就是这样被严重低估许多开发商 它是 C 工具箱中最好的工具之一 非常锋利 但割伤自己并不危险
  • 禁用的 uibarbuttonitem 的文本颜色始终是正常状态的颜色

    我在我的代码中写道 UIBarButtonItem appearanceWhenContainedIn UINavigationBar class nil setTitleTextAttributes NSForegroundColorAt
  • 限制 Jenkins 仅针对特定分支进行并发构建

    我一直在寻找如何做到这一点一段时间 但我开始认为这是不可能的 与此类似的每个问题似乎都与限制某些节点或整个管道的运行更相关 我们在 Jenkins 中有一个多分支管道 用于处理 PR 构建 分阶段测试和生产发布 三者中的每一个都通过when
  • VC++ 缺少类型说明符 - 假定为 int。注意:C++ 不支持default-int [重复]

    这个问题在这里已经有答案了 以下代码在 VC 6 0 中编译得很好 但是当我在 VS2005 中打开该项目时 出现此错误 BCGPopupMenu h 100 错误 C4430 缺少类型说明符 int 假定 注意 C 不支持default
  • 为可移植类库创建 NuGet 包时出错

    我是 Nuget 新手 我正在尝试为可移植类库项目创建一个 NuGet 包 该项目对我创建的另一个可移植类库具有包依赖性 我遇到了一个问题 在调用时收到错误块包对于项目文件测试组件2 csproj 我从 VS 2013 中的 Portabl