2008-11-06 2 views
3

Visual Studio 2008 Team System 에디션으로 사용자 지정 프로젝트 템플릿을 만드는 중입니다. 또한 사용자 지정 템플릿에 대한 사용자 지정 마법사를 만들었습니다.VS2008에서 프로젝트 템플릿을 내 보낸 적이 있지만 손상되었습니다.

그래서 내 사용자 지정 마법사를 사용하도록 템플릿에 알려주기 위해 vstemplate 파일을 업데이트해야합니다. 그러나 아카이브가 손상되었습니다!

7zip은 아카이브 내의 폴더가 비표준 우편 압축을 사용한다고 생각합니다. 최신 winzip은 폴더의 CRC 헤더가 기본 CRC 헤더와 일치하지 않는다고 생각합니다.

내가 뭘 잘못하고 있니?

VS2008에서 만든 템플릿 zip 파일을 변경하지 않으면 정상적으로 작동합니다. 하지만 zip 파일을 업데이트 할 수 있어야합니다. 만약 내가한다면, 7zip/winzip은 zip 파일 구조를 수정 한 다음 VS2008은 더 이상 템플릿을 좋아하지 않습니다. zip 파일 내의 폴더에있는 파일에 액세스 할 수 없습니다.

표준 템플릿이 플랫 파일 구조를 유지하는 것처럼 보입니다. 중첩 된 폴더 또는 아무것도 아닙니다. 그러나 vstemplate 파일에는 원래 폴더 구조를 다시 만드는 targetfilename 특성이 있습니다. 대신 예를 들어

...

<Folder Name="My Project" TargetFolderName="My Project"> 
    <ProjectItem ReplaceParameters="true" TargetFileName="AssemblyInfo.vb">AssemblyInfo.vb</ProjectItem> 
</Folder> 

표준 vstemplate 난 그냥 위의에 대해 조금 생각을 했어

<ProjectItem ReplaceParameters="true" TargetFileName="My Project\AssemblyInfo.vb">AssemblyInfo.vb</ProjectItem> 

... 다음을 정의합니다. 그들은 실제로 같은 것입니까?

원본 zip 파일을 만드는 데 문제가 있습니까?

zip 파일의 폴더 구조가 다 올라 갔습니까?

플랫 파일 구조로 모든 파일을 zip 아카이브에 추가해야합니까? 그렇다면 VS2008에 대한 수정 사항이있어서 수동으로 템플릿 아카이브를 수정하지 않아도됩니까?

답변

0

동일한 문제가 여기에 있습니다. 나는 <Folder>...<Folder> 대신 <ProjectItem>MyFolder\MyFile.cs</ProjectItem>을 사용하여 해결했습니다.

PS : VS2008 + Windows7에서 PS : TargetFileName이 작동하지 않습니다.

0

Visual Studio에서 비표준 ZIP 파일을 만드는 것처럼 보입니다. 내 솔루션은 VS에 의해 생성 된 템플릿 zip 파일의 압축을 풀고 WinZip으로 파일을 다시 압축하는 것이 었습니다.

VS2008은이 작업을 수행 할 때 템플리트의 모든 파일에 액세스 할 수 없지만 적어도 결과 zip 파일은 VS2008에서 문제를 일으키지 않았습니다.

+0

그냥 확인하려면 예제 zip 중첩 된 폴더 구조 또는 플랫 폴더 구조가 있습니까? – BlackMael

+0

그래, 방금 cs 파일을 포함하는 하위 폴더가있는 프로젝트로 테스트 프로젝트 템플릿을 만들었습니다. 템플릿의 vstemplate 파일에 디렉토리 구조를 반영하는 프로젝트 템플릿에 요소가 있습니다. 나는 WinRAR을 사용하여 ZIP을 풀고 다시 만든다 (나는 이것을 집에 설치했다). – mackenir

4

아카이브의 내용을 수정하지 않아도됩니다.

폴더를 선택하고 압축을 풀지 않고 폴더의 압축을 풀고 모든 파일 (및 폴더가있는 경우 폴더)을 선택하는 대신 압축 해제 된 내용을 편집하는 것이 트릭입니다.

이 때문에 Visual Studio에서 보관 파일을 템플릿으로 인식하지 못합니다. 이 기능은 7-Zip, WinRAR 또는 WinZip 인 bloatware에서 선호하는 모든 기능을 수행해야합니다.

+0

그게 정확히 내가 한 일 이었지만, 포장을 풀고 다시 포장 할 때 이것에 대해 생각하지 않아도됩니다. –

관련 문제