在程序集名称中创建具有特殊字符的 NuGet 包
Create NuGet Package with Special Character in Assembly Name
我有一个包含 C++ 代码的项目,它创建了一个名称如下的程序集:"C++Adapter.dll"。由于程序集名称中的“++”,我无法创建正确的 NuGet 包。当我 运行 nuget pack 命令行时,它会创建一个包,但程序集名称发生了某种变化,看起来像这样:"C%2B%%2B%Adapter.dll"。有解决办法吗?
这是我的 .nuspec 文件的样子:
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>$id$</id>
<version>$version$</version>
</metadata>
<files>
<file src="..\bin\*.dll" exclude="**\*.pdb;**\*.dll.metagen" target="MyFolder" />
</files>
</package>
此线程向我指出了一个解决方法:
nuget encodes the blank spaces in names of files
就我而言,我使用 7-Zip 解压 NuGet 包。那是文件名弄乱的时候。我 运行 下面的命令有效(我用 NuGet.exe v4.4.1 测试过)。
nuget.exe install MyPackage -OutputDirectory C:\test
此命令的作用是下载包并将其解压缩到输出目录中。
我有一个包含 C++ 代码的项目,它创建了一个名称如下的程序集:"C++Adapter.dll"。由于程序集名称中的“++”,我无法创建正确的 NuGet 包。当我 运行 nuget pack 命令行时,它会创建一个包,但程序集名称发生了某种变化,看起来像这样:"C%2B%%2B%Adapter.dll"。有解决办法吗?
这是我的 .nuspec 文件的样子:
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<id>$id$</id>
<version>$version$</version>
</metadata>
<files>
<file src="..\bin\*.dll" exclude="**\*.pdb;**\*.dll.metagen" target="MyFolder" />
</files>
</package>
此线程向我指出了一个解决方法: nuget encodes the blank spaces in names of files
就我而言,我使用 7-Zip 解压 NuGet 包。那是文件名弄乱的时候。我 运行 下面的命令有效(我用 NuGet.exe v4.4.1 测试过)。
nuget.exe install MyPackage -OutputDirectory C:\test
此命令的作用是下载包并将其解压缩到输出目录中。