我在Visual 2013解决方案中有很多VC项目。对于每个项目,我将其大部分属性保存在属性表AllConfigurations.props中,属于项目的文件夹。我试图为这样的项目创建一个项目模板。我将AllConfigurations.props添加到模板zip文件中,并在.vstemplate中引用它:
<Project TargetFileName="Test.vcxproj" File="Test.vcxproj" ReplaceParameters="true">
<ProjectItem ReplaceParameters="false" TargetFileName="AllConfigurations.props">AllConfigurations.props</ProjectItem>但是,当使用此模板创建新项目时,Visual会显示一个错误:
无法读取项目文件"Test1.vcxproj“。Test1\Test1.vcxproj(76,5):未找到导入的项目"Test1\AllConfigurations.props“。确认声明中的路径是正确的,并且文件存在于磁盘上。
该项目没有添加到解决方案中。在从模板解压缩所有文件之前,VS似乎尝试加载新项目。
我该怎么处理?
发布于 2017-03-16 03:34:23
下面是如何创建包含用户属性表的Visual C++项目模板的方法。
<Import Project="AllConfigurations.props" />。将行更改为:<Import Project="AllConfigurations.props" Condition="exists('AllConfigurations.props')" />。这将允许项目打开,即使该文件还不可用。关闭并重新打开Visual,您应该能够使用新模板创建一个新项目。您可能必须关闭解决方案并重新打开它,以便属性表在属性管理器窗口中的所有配置下可见。如果不希望.props文件在解决方案资源管理器窗口中可见,可以从新项目中删除它。它仍将在属性管理器中使用。
发布于 2016-08-26 04:20:52
我也有同样的问题。我无法将属性表实际添加到项目中,因为它看起来像Visual (在我的例子中是2013年)将属性表视为项目。我希望我可以使用一些ProjectCollection和第二个V茎板文件的组合来创建由属性表组成的项目,然后是我的实际项目。然而,我最终将一个解决方案合并在一起,因为它的工作要少得多。
<ImportGroup Label="PropertySheets" />类似的第一行Project元素下的所有元素。ImportGroup元素的所有子元素(现在看起来应该像<!-- <Import Project="whatever.props" /> -->)。重新压缩并安装模板。现在,您应该能够使用您感兴趣的属性创建一个项目。缺点是,生成的.vcxproj有点难看,不会有单独的属性表,但至少应该能够在新的项目类型中分发和引用属性。
https://stackoverflow.com/questions/37744478
复制相似问题