У меня есть проект с кодом C ++, который создает сборку с таким именем: «C ++ Adapter.dll». Я не смог создать правильный пакет NuGet из-за «++» в имени сборки. Когда я запускаю командную строку пакета nuget, он запускает и создает пакет, но имя сборки каким-то образом изменяется и выглядит так: «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 кодирует пробелы в именах файлов
В моем случае я использовал 7-Zip для распаковки пакета NuGet. Это когда имена файлов перепутались. Я запустил приведенную ниже команду, и она сработала (я тестировал NuGet.exe v4.4.1).
nuget.exe install MyPackage -OutputDirectory C:\test
Эта команда загружает и извлекает пакет в выходной каталог.
Других решений пока нет …