将ProjectItem移动到VS2012中项目模板的自定义向导中的物理目录

时间:2012-08-04 15:44:39

标签: c# visual-studio-2012 visual-studio-templates

在Visual Studio 2012(或更低版本,最好是)中,是否可以将新创建​​的项目定向到文件系统中的特定文件夹,而不是直接使用项目项目模板直接转到项目根目录?

ProjectItem.Save()SaveAs()方法抛出未实现的异常。

1 个答案:

答案 0 :(得分:1)

简短的回答是否定的:您不能仅使用vstemplate将文件定向到项目的子文件夹。

如果您不介意编写VS扩展,可以尝试这种方法,通过使用您自己的实现替换解决方案资源管理器中的“添加新项”命令,在所需的子文件夹中创建文件:

  1. 使用您自己的事件处理程序覆盖“添加新项”命令(命令GUID:{5EFC7975-14BC-11CF-9B2B-00AA00573819},ID:220)http://social.msdn.microsoft.com/Forums/eu/vsx/thread/c0e7de35-73d7-441a-979d-f5e359896b80
  2. 在您的事件处理程序中,在解决方案资源管理器层次结构中预先选择子文件夹(请参阅http://social.msdn.microsoft.com/Forums/en/vsx/thread/0bef0d6e-c416-4e09-989f-5c2da7379e04
  3. 调用IVsAddProjectItemDlg.AddProjectItemDlg方法,可选择将项目项模板指定为默认选定项(请参阅http://social.msdn.microsoft.com/Forums/en/vsx/thread/f24dd433-1522-47ad-bd02-067b13391527
  4. 此方法的缺点是每个新项目项目都将添加到项目子文件夹中。为避免这种情况,您可以向解决方案资源管理器添加新的上下文菜单命令,而不是覆盖“添加新项”。