2017-09-27 3 views
1

Ich habe ein Projekt mit C++ - Code, der eine Assembly mit einem Namen wie diesem erstellt: "C++ Adapter.dll". Ich konnte aufgrund des "++" im Assemblynamen kein ordnungsgemäßes NuGet-Paket erstellen. Wenn ich die nugget pack-Befehlszeile ausführe, geht es und ein Paket erstellen, aber der Assemblyname wird irgendwie geändert und sieht so aus: "C% 2B %% 2B% Adapter.dll". Gibt es einen Workaround dafür? HierErstellen Sie NuGet-Paket mit Sonderzeichen in Assemblyname

ist, was meine .nuspec Datei wie folgt aussieht:

<?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> 
+0

Ich bin in genau der gleichen Position und kann keine Lösung finden –

Antwort

0

Dieser Thread ist mir zu einer Vermeidung des Problems hingewiesen: nuget encodes the blank spaces in names of files

In meinem Fall war ich mit 7-Zip die NuGet Paket entpacken . Das ist, wenn die Dateinamen versaut sind. Ich habe den Befehl unten ausgeführt und es hat funktioniert (ich habe mit NuGet.exe v4.4.1 getestet).

nuget.exe install MyPackage -OutputDirectory C:\test 

Mit diesem Befehl wird heruntergeladen und das Paket in das Ausgabeverzeichnis extrahiert.

Verwandte Themen