Nuspec 文件目标绝对路径

Nuspec file target absolute path

我正在编写一个.nuspec文件,安装包时必须将文件复制到特定的绝对路径。

代码段如下所示:

<files>
    <file src="myFolder\myFile.txt" target="C:\SomeFolder\myFolder" />
</files>

当我 运行 nuget pack 时,出现以下错误(这是 -Verbosity detailed):

Target path 'C:\SomeFolder\myFolder' contains invalid characters.

System.Exception: 目标路径 'C:\SomeFolder\myFolder' 包含无效字符。 在 NuGet.Packaging.Manifest.Validate(清单清单) 在 NuGet.Packaging.Manifest.ReadFrom(Stream 流,Func2 propertyProvider, Boolean validateSchema) at NuGet.Packaging.PackageBuilder.ReadManifest(Stream stream, String basePath, Func2 propertyProvider) 在 NuGet.Packaging.PackageBuilder..ctor(字符串路径、字符串 basePath、Func`2 propertyProvider、布尔 includeEmptyDirectories、布尔确定性) 在 NuGet.Commands.PackCommandRunner.CreatePackageBuilderFromNuspec(字符串路径) 在 NuGet.Commands.PackCommandRunner.BuildFromNuspec(字符串路径) 在 NuGet.Commands.PackCommandRunner.BuildPackage() 在 NuGet.CommandLine.PackCommand.ExecuteCommand() 在 NuGet.CommandLine.Command.ExecuteCommandAsync() 在 NuGet.CommandLine.Command.Execute() 在 NuGet.CommandLine.Program.MainCore(String workingDirectory, String[] args)

我想这与使用绝对路径有关,但

1) 这曾经在一年前工作过(我不记得我当时使用的 nuget 的确切版本)

2) 如何指定绝对路径?

我正在使用今天早上下载的最新版本的 nuget。

事实证明这是设计使然,因为他们考虑到安全问题,因为有一个 nuget 包会更改安装它的项目范围之外的内容。正如Github中的回答:评论中提到的https://github.com/NuGet/Home/issues/9329 (also as Mihai Albert

我最终使用的解决方法是使用相对路径打包并将包安装在所需位置。