2017-09-27 6 views
1

"C++ Adapter.dll"과 같은 이름의 어셈블리를 만드는 C++ 코드가있는 프로젝트가 있습니다. 어셈블리 이름에 "++"로 인해 적절한 NuGet 패키지를 만들 수 없었습니다. nuget pack 명령 줄을 실행하면 패키지가 만들어 지지만 어셈블리 이름은 어떻게 든 변경되며 "C % 2B %% 2B % Adapter.dll"과 같이 보입니다. 이 문제를 해결할 수있는 방법이 있습니까?어셈블리 이름에 특수 문자가있는 NuGet 패키지 생성

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

나는 똑같은 위치에 있고 해결책을 찾지 못한다. –

답변

0

이 스레드 해결에 나를 지적 : 내 경우 nuget encodes the blank spaces in names of files

, 나는 NuGet 패키지를 압축 해제 7 - 우편 번호를 사용하고 여기에

처럼 내 .nuspec 파일이 모습입니다 . 그것이 파일 이름이 엉망이 된 때입니다. 아래 명령을 실행하면 NuGet.exe v4.4.1로 테스트했습니다.

nuget.exe install MyPackage -OutputDirectory C:\test 

이 명령은 패키지를 다운로드하여 출력 디렉토리로 추출합니다.