gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 16:44:23 36 4
gpt4 key购买 nike

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

我遇到了一个问题,我在调用 时收到错误消息nuget 包 用于项目文件 TestComponent2.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,Version=4.0.10.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a'
在 System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean for Introspection,
bool 抑制SecurityChecks)
在 System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean for Introspection, B
olean抑制安全检查)

...

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

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

编号:TestComponent2
版本:1.0
作者:我的名字
说明: 说明
依赖:无

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

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

如果我打电话 nuget 规范 首先,我还收到以下错误:
警告:无法从“TestComponent2.dll”中提取元数据。
使用“TestComponent2.nuspec”作为元数据。
替换标记“title”没有值(value)。

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

最佳答案

这个问题是patched in 3.0.0

直到 3.0.0 发布,我创建了 this repository它包含我过去几个月一直在使用的修补可执行文件。该存储库还包含一个示例项目,以更好地可视化问题以及它在简单但意外的情况下如何发生。

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

关于.net - 为可移植类库创建 NuGet 包时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23676953/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com