2013-02-08 3 views
5

잘못된 장소에 포장되고 추가 콘텐츠 폴더가 여전히 뷰에 추가되었지만 App_Start는 포함되지 않았습니다 ... 아래 설명 참조)Nuget 파일 내가 파일 스펙과 nuget 사양 파일이

프로젝트 자체는

형식으로 정렬됩니다.

  • :

    \<root> 
    |_ readme.txt 
    |_ content 
         |_ content 
         | |_ Views 
         |   |_ Home 
         |    |_ <viewname>.cshtml 
         |    |_ <viewname2>.cshtml 
         |_ App_Start 
         | |_ <PreprocessFilename>.cs.pp 
         |_ readme.txt 
    

    그래서 대한 파일 경로를 포장 nuget하기 : 나에게 이상한 행동으로 보이는

    \<root> 
    |_ readme.txt 
    |_ content 
         |_ Views 
         | |_ Home 
         |   |_ <viewname>.cshtml 
         |   |_ <viewname2>.cshtml 
         |_ App_Start 
          |_ <PreprocessFilename>.cs.pp 
    

    그러나 NuGet 팩이 구조의 zip 파일을 생산하고 있다는 점이다 readme.txt가 왜 두 곳에서 중복됩니까?

  • 왜보기에 두 번째 'content'하위 폴더가 제공됩니까? (App_Start가 아닌 동안)
  • 콘텐츠 폴더의 복사본을 실제 구조가 정확히 반영되도록하려면 어떻게해야합니까?
  • 어떻게이 관련이 있다면,이 패키지를 만들 .csproj 파일을 사용하고

nuspec 파일이 더 "유지 보수"확인하기 위해 <file src="content\*" target="content" /> 지시로 돌아갈 수 있습니다.

+0

Alex - readme.txt 파일이 복제되는 문제를 알아 냈습니까? – Randy

답변

0

나는 같은 문제를 겪고 있는데, 나는 그걸 해결할 수 있었지만 좀 해킹 할 수 있었다. 내 프로젝트가 최종 패키지에서 의도하는 디렉토리 트리를 가질 수 있도록 더 나은 솔루션을보고 싶습니다. 그러나 오늘 작업해야합니다 .......

주위를 둘러 봐야 할 일 이것은 내가 그것을에서 생을 마감하고 싶은 서브 디렉토리로 설정 대상에서 다음 루트 수준에서 콘텐츠 디렉토리 밖으로 장소에있는 모든 하위 디렉토리를 당겨이었다.

<file src="Scripts\" target="content\Scripts" /> 
0

동작은 것 같다 때를 그 .csproject nuget pack MyProject.csproj을 팩하면 먼저 프로젝트 구조에 따라 패키지를 정렬 한 다음 nuspec에서 추가 지시 사항을 찾으십시오. 하지만 귀하의 nuspec을 가질 방법이없는 것 같습니다 콘텐츠를 이전 단계에서 추가하면 프로젝트로 포장 할 때 추가됩니다.

따라서 기본 프로젝트 구조가 패키지에서 원하지 않는 콘텐츠로 연결되는 경우 .nuspec을 사용하여 직접 패킹해야합니다. nuget pack MyProject.nuspec 그러면 nuspec에 지정된 내용 만 가져오고 원하는 내용을 정확하게 정의 할 수 있습니다.

당신이 거의 원하는 구조를 가지고 큰 프로젝트가있는 경우, 먼저, 프로젝트에서 패키지를 빌드 나중에 필요에 맞게 조정이 패키지에서 nuspec를 추출 Nuget Package Explorer를 사용하는 것이 편리 할 수있다 그리고 당신은 마침내 패배합니다. 그렇게하면 처음부터 다시 빌드 할 필요가 없습니다.

편집

또는 ... 당신은 당신이 어떤 특정 파일을 무시하고 그 것이다 .nuspec에서 이러한 파일에 대한 사용자 지정 규격을 작성하는 분에게 .csproj에 -Exclude parameter로 포장을 실행할 수 있습니다 추가 데이터를 위해 자동으로 읽혀집니다.

개인적으로 .nuspec을 패키지에 대한 유일한 정의로 사용하는 것이 더 편리합니다.

관련 문제