'%(FullPath)..."-6ren"> '%(FullPath)..."-我正在尝试我的第一个 NuGet 包,但遇到了一些麻烦。我有一个相当简单的项目和一个非常简单的 .nuspec 文件: $id$ $version$ $title$ -6ren">
gpt4 book ai didi

NuGet 包失败,出现 "Unable to find ' @(_OutputPathItem->'%(FullPath)..."

转载 作者:行者123 更新时间:2023-12-03 10:33:44 25 4
gpt4 key购买 nike

我正在尝试我的第一个 NuGet 包,但遇到了一些麻烦。我有一个相当简单的项目和一个非常简单的 .nuspec 文件:

<?xml version="1.0"?>
<package >
<metadata>
<id>$id$</id>
<version>$version$</version>
<title>$title$</title>
<authors>$author$</authors>
<owners>$author$</owners>
<description>$description$</description>
</metadata>
</package>

当我使用此命令行运行 NuGet 包时:
NuGet.exe pack mylibrary.csproj -Verbosity detailed -Properties Configuration=Debug

我收到此错误:
NuGet.CommandLineException: Unable to find '@(_OutputPathItem->'%(FullPath)mylibrary.dll')'. Make sure the project has been built.
at NuGet.Commands.ProjectFactory.BuildProject()
at NuGet.Commands.ProjectFactory.CreateBuilder(String basePath)
at NuGet.Commands.PackCommand.BuildFromProjectFile(String path)
at NuGet.Commands.PackCommand.BuildPackage(String path)
at NuGet.Commands.PackCommand.ExecuteCommand()
at NuGet.Commands.Command.Execute()
at NuGet.Program.Main(String[] args)

输出文件肯定在 bin\Debug 文件夹中,但 NuGet 显然没有找到它们。

这显然只有在 .csproj 文件的 ToolsVersion 设置为 3.5 或更低时才会发生。将 ToolsVersion 设置为 4.0 可以解决该问题。

似乎 MSBuild 3.5 在调用 _project.GetPropertyValue("TargetPath") 时返回未扩展的属性值(ProjectFactory.cs ~296),其中 MSBuild 4.0 返回扩展的属性值。

最佳答案

我们遇到了同样的问题。添加

-Prop Platform=AnyCPU

到命令行使它对我们有用。

关于NuGet 包失败,出现 "Unable to find ' @(_OutputPathItem->'%(FullPath)...",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21583070/

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