VS2017 中导出的项目模板丢失源文件
Exported project template in VS2017 misses source files
当我在 Visual Studio 2017 中使用 Project -> Export template
选项时,生成的 ZIP 文件包含主要项目文件,但不包含任何 *.cpp
和 *.hpp
文件我已经添加了。如何将所有内容包含在模板中?我还应该注意到,这种行为似乎在某个时候的更新中发生了变化。
是的,我只是把源放在里面,...我很幸运从 github 导出代码,因为它包含多个项目...
这是一件愚蠢的事情……在项目依赖项 "The Project Dependencies option is only available in a solution with more than one project" 下,所以我无法选择 select 源代码。 ......他们故意这样做的,但我不知道为什么。
您需要手动编辑 .vstemplate 文件并在 <TemplateData>
标签中添加 <CreateInPlace>true</CreateInPlace>
,使其看起来像这样:
<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Project">
<TemplateData>
<Name>TemplateTest</Name>
<Description><No description available></Description>
<ProjectType>JavaScript</ProjectType>
<ProjectSubType>
</ProjectSubType>
<SortOrder>1000</SortOrder>
<CreateNewFolder>true</CreateNewFolder>
<CreateInPlace>true</CreateInPlace>
<DefaultName>CodovaTemplateTest</DefaultName>
<ProvideDefaultName>true</ProvideDefaultName>
<LocationField>Enabled</LocationField>
<EnableLocationBrowseButton>true</EnableLocationBrowseButton>
<Icon>__TemplateIcon.ico</Icon>
</TemplateData>
问题出在您的 .vstemplate
文件中。您需要做的是对其进行编辑,以便 VS 知道应该有其他文件。解压缩导出的文件,添加所需的文件,然后打开 .vstemplate
文件。您应该更改的 .vstemplate
部分位于 <TemplateContent>
标记之间:
<TemplateContent>
<Project TargetFileName="project.vcxproj" File="project.vcxproj" ReplaceParameters="true">
<ProjectItem ReplaceParameters="false" TargetFileName="$projectname$.vcxproj.filters">project.vcxproj.filters</ProjectItem>
<ProjectItem ReplaceParameters="true" TargetFileName="file1.cpp">file1.cpp</ProjectItem>
<ProjectItem ReplaceParameters="true" TargetFileName="file2.h">file2.h</ProjectItem>
<ProjectItem ReplaceParameters="true" TargetFileName="input.txt">input.txt</ProjectItem>
</Project>
</TemplateContent>
这告诉 VS 在您创建项目时将文件 file1.cpp
、file2.h
和 input.txt
添加到项目中。只需将名称更改为您想要的文件,保存所有内容并重新压缩文件夹。
当我在 Visual Studio 2017 中使用 Project -> Export template
选项时,生成的 ZIP 文件包含主要项目文件,但不包含任何 *.cpp
和 *.hpp
文件我已经添加了。如何将所有内容包含在模板中?我还应该注意到,这种行为似乎在某个时候的更新中发生了变化。
是的,我只是把源放在里面,...我很幸运从 github 导出代码,因为它包含多个项目... 这是一件愚蠢的事情……在项目依赖项 "The Project Dependencies option is only available in a solution with more than one project" 下,所以我无法选择 select 源代码。 ......他们故意这样做的,但我不知道为什么。
您需要手动编辑 .vstemplate 文件并在 <TemplateData>
标签中添加 <CreateInPlace>true</CreateInPlace>
,使其看起来像这样:
<VSTemplate Version="3.0.0" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005" Type="Project">
<TemplateData>
<Name>TemplateTest</Name>
<Description><No description available></Description>
<ProjectType>JavaScript</ProjectType>
<ProjectSubType>
</ProjectSubType>
<SortOrder>1000</SortOrder>
<CreateNewFolder>true</CreateNewFolder>
<CreateInPlace>true</CreateInPlace>
<DefaultName>CodovaTemplateTest</DefaultName>
<ProvideDefaultName>true</ProvideDefaultName>
<LocationField>Enabled</LocationField>
<EnableLocationBrowseButton>true</EnableLocationBrowseButton>
<Icon>__TemplateIcon.ico</Icon>
</TemplateData>
问题出在您的 .vstemplate
文件中。您需要做的是对其进行编辑,以便 VS 知道应该有其他文件。解压缩导出的文件,添加所需的文件,然后打开 .vstemplate
文件。您应该更改的 .vstemplate
部分位于 <TemplateContent>
标记之间:
<TemplateContent>
<Project TargetFileName="project.vcxproj" File="project.vcxproj" ReplaceParameters="true">
<ProjectItem ReplaceParameters="false" TargetFileName="$projectname$.vcxproj.filters">project.vcxproj.filters</ProjectItem>
<ProjectItem ReplaceParameters="true" TargetFileName="file1.cpp">file1.cpp</ProjectItem>
<ProjectItem ReplaceParameters="true" TargetFileName="file2.h">file2.h</ProjectItem>
<ProjectItem ReplaceParameters="true" TargetFileName="input.txt">input.txt</ProjectItem>
</Project>
</TemplateContent>
这告诉 VS 在您创建项目时将文件 file1.cpp
、file2.h
和 input.txt
添加到项目中。只需将名称更改为您想要的文件,保存所有内容并重新压缩文件夹。