从VS2008导出项目模板,但它已损坏?

时间:2008-11-06 09:19:52

标签: visual-studio-2008

我正在使用Visual Studio 2008 Team System版本创建自定义项目模板。我还为自定义模板创建了一个自定义向导。

所以我必须更新vstemplate文件,告诉模板使用我的自定义向导。但存档已损坏!

7zip认为存档中的文件夹使用的是非标准的zip压缩。最新的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有一个修复程序,这样我就不必手动修复模板档案了吗?

3 个答案:

答案 0 :(得分:4)

答案 1 :(得分:0)

这里的问题相同。我使用<ProjectItem>MyFolder\MyFile.cs</ProjectItem>代替<Folder>...<Folder>解决了这个问题。

PS:在VS2008 + Windows7中,TargetFileName对我不起作用。

答案 2 :(得分:0)

看起来Visual Studio会创建非标准的ZIP文件。我的解决方案是解压缩VS生成的模板zip文件,然后用WinZip重新压缩文件。

你说VS2008在你这样做的时候无法访问模板中的所有文件,但是这里至少得到的zip文件并没有给VS2008带来任何问题。