2017-09-26 9 views
0

내 프로젝트 파일을 패키징하는 노력이 같은 것을 사용하여 nuget 패키지를 만드는 오전 : NuGet이 file.csproj -p 구성 = $ (ConfigurationName)를 팩; -NoPackageAnalysis.넣고 파일과 nuget 패키지의 폴더

그러나 문제는이 파일을 태우고있다/"내용" 폴더 및 어셈블리에서 프로젝트에 관련된 폴더는 "LIB" 폴더하지만 난 할 파일/같은 폴더 뭔가 루트 및 라이브러리 폴더 이 . enter image description here 하지만 지금 내 폴더 구조는 다음이다 : 은 enter image description here

내 nuspec 파일의 구조는도 번째 그림과 같은 출력 구조 내 nuspec 파일에 대한 결과 제외

<?xml version="1.0"?> 
<package > 
    <metadata> 
     <id>$id$</id> 
     <version>$version$</version> 
     <title>$title$</title> 
     <authors>abc</authors> 
     <owners>abc</owners> 
     <requireLicenseAcceptance>false</requireLicenseAcceptance> 
     <description>abc</description> 
     <releaseNotes></releaseNotes> 
     <copyright>Copyright 9999</copyright> 
     <tags></tags> 
    </metadata> 
    <files> 
     <file src="bin\**" target="bin" /> 
     <file src="$target$\**\*.*" target=""/> 
    </files> 
</package> 

이다. 나는 너겟 버전 4.1.0을 사용하고 있으며 2.8.6과 같은 이전 버전의 누 겟으로 시도했다.

답변

-1

당신은 나뿐만 아니라이 고생 사용자 정의 .nuspec 파일

<?xml version="1.0"?> 
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"> 
    <metadata> 
     <id>title</id> 
     <version>1.0.0</version> 
     <authors>abc</authors> 
     <requireLicenseAcceptance>false</requireLicenseAcceptance> 
     <description>desc</description> 
    </metadata> 
    <files> 
     <file src="bin\Debug\bin\*.*" target="bin" /> 
     <file src="bin\Debug\fonts\*.*" target="fonts" /> 
     ............ 
    </files> 
</package> 
0

을 작성해야하지만, /package에서 <files /> 수집 및 /package/metadata<contentFiles /> 모음의 차이를 이해하는 것이 중요합니다.

<files /> 컬렉션 패키지의 lib, content 또는 tools 디렉토리, 패키지에 넣어 파일 패키저 알려줍니다.

참고 :이 컬렉션을 사용할 필요가 없으며 a convention-based working directory을 사용할 수도 있습니다.

<contentFiles /> 컬렉션은 패키지 소비자에 패키지에 포함 된 파일을 사용하는 방법을 알려줍니다. 귀하의 경우에는

비록 $target$ 부분에 대해 정말 확실하지 이런 식으로 뭔가를 (보여야 .nuspec 파일 :

<?xml version="1.0"?> 
<package > 
    <metadata> 
     <id>$id$</id> 
     <version>$version$</version> 
     <title>$title$</title> 
     <authors>abc</authors> 
     <owners>abc</owners> 
     <requireLicenseAcceptance>false</requireLicenseAcceptance> 
     <description>abc</description> 
     <releaseNotes></releaseNotes> 
     <copyright>Copyright 9999</copyright> 
     <tags></tags> 
     <contentFiles> 
      <files include="bin/**" buildAction="None" copyToOutput="true" /> 
     </contentFiles> 
    </metadata> 
    <files> 
     <file src="bin\**" target="content\bin" /> 
     <file src="$target$\**\*.*" target="content"/> 
    </files> 
</package> 
+0

이 답변이 유망한 듯하지만 contentFiles' 실제로 다른 개념이다'것 같다 : 그것은 불변 (편집 할 수없는) 내용 파일을위한 것입니다. 여기에 emgarten의 설명을보십시오 : https://github.com/NuGet/Home/issues/2060 따라서 나는 대답을 시도했지만 슬프게도 작동하지 않았다. –