2011-05-05 4 views
6

나는 너겟 패키지를 만들었습니다. 나는 몇몇 파일 및 폴더를 "content"폴더에 넣었으며 훌륭하게 작동했습니다. 그래서 DLL의와 bin 폴더를 추가 내 nuspec 파일에 넣고 :의 멋지게 기준에 배치됩니다NuGet 패키지 dll의 + content files = fail?

<files> 
    src="bin\*.dll" target="lib" /> 
    </files> 

DLL을하지만, 콘텐츠는 더 이상 복사되지 않습니다.

둘 다 어떻게 작동합니까?

@Edit 내가 아는

이 있습니다

<file src="content\Controllers\*.*" target="Controllers" /> 
<file src="content\Views\Account\*.*" target = "Views\Account" /> 
<file src="bin\*.dll" target="lib" /> 

패키지는 바로 구조와 파일이 들어 있지만, 파일은 내 프로젝트에 복사되지 않습니다.

파일이 폴더 구조에 있습니다. 파일들을 내 콘텐트 폴더에 직접 넣으면 내 프로젝트의 루트에 복사됩니다 ...

답변

12

nuspec에서 파일 섹션을 정의 할 때 우리는 더 이상 "자동"/ "협약"기반 패키지 작성을하지 않습니다. 우리는 당신이 우리가 무엇을 포함 할 것인지를 말하면서 그것을 보았습니다. 그래서 우리는 목록에없는 것을 포함시키지 않습니다. 해당 목록에 콘텐츠 폴더를 추가하기 만하면 작동합니다.

편집

NuSpec 파일 "파일"아래 답변자의 의견 의견을 포함하는 부분은 어디 때 그것의 압축을 푼 /하지 SLN의 패키지에 PROJ를 파일을 넣어하는 NuGet을 말한다. 이처럼 쓰고 싶은 :

<file src="content\Controllers*.*" target="content\Controllers" /> 
<file src="content\Views\Account*.*" target = "content\Views\Account" /> 
<file src="bin*.dll" target="lib" /> 
+0

내가 그뿐만 아니라 시도 : <파일 SRC ​​= "내용을 \ *"대상 = \ "을"/> 내가 잘못된 구문을 사용하지 않는 있지만 아무튼 작업을 수행 할 수 있습니다 그런 다음 사용할 구문을 알려주십시오. – Nealv

+6

NuSpec 파일 "files"섹션은 NuGet에게 파일을 압축 해제했을 때 sln/proj에없는 파일을 패키지에 넣을 위치를 알려줍니다. <파일 src = "컨텐츠 \ 컨트롤러 \ *. *"target = "컨텐츠 \ 컨트롤러"/> <파일 src = "컨텐츠 \ Views \ Account \ *. *"target = "content \ Views \ Account"/>

+3

"content"폴더는 "내 프로젝트의 루트"를 의미합니까? 이상하게 보입니다. 근본적으로 문서화되지 않았습니다. 이 페이지는 컨텐츠 폴더에 대해 언급하지만 그것이 특별한 이유는 설명하지 않습니다 : http://nuget.codeplex.com/wikipage?title=File%20Element%20Specification –

관련 문제