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, Func
2 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
我最终使用的解决方法是使用相对路径打包并将包安装在所需位置。
我正在编写一个.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, Func
2 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
我最终使用的解决方法是使用相对路径打包并将包安装在所需位置。