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

C# 在VS2012中项目模板的自定义向导中将项目项移动到物理目录,c#,visual-studio-2012,visual-studio-templates,C#,Visual Studio 2012,Visual Studio Templates,在Visual Studio 2012(或更低版本,最好)中,是否可以将新创建的项定向到文件系统中的特定文件夹,而不是使用项目项模板直接指向项目根目录 ProjectItem.Save()和SaveAs()方法引发了一个未实现的异常。简短的回答是否定的:不能单独使用vstemplate将文件定向到项目的子文件夹 如果您不介意编写VS扩展名,可以尝试这种方法,通过使用自己的实现替换解决方案资源管理器中的“添加新项”命令,在所需子文件夹中创建文件: 使用您自己的事件处理程序覆盖“添加新项”命令(命令

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


ProjectItem.Save()
SaveAs()
方法引发了一个未实现的异常。

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

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

  • 使用您自己的事件处理程序覆盖“添加新项”命令(命令GUID:{5EFC7975-14BC-11CF-9B2B-00AA00573819},ID:220))
  • 在事件处理程序中,在解决方案资源管理器层次结构中预选子文件夹(请参阅)
  • 调用IVsAddProjectItemDlg.AddProjectItemDlg方法,可以选择将项目项模板指定为默认的选定项(请参阅)

  • 这种方法的缺点是,每个新项目项都将添加到项目子文件夹中。为了避免这种情况,您可以向解决方案资源管理器添加一个新的上下文菜单命令,而不是覆盖“添加新项”。

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

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

  • 使用您自己的事件处理程序覆盖“添加新项”命令(命令GUID:{5EFC7975-14BC-11CF-9B2B-00AA00573819},ID:220))
  • 在事件处理程序中,在解决方案资源管理器层次结构中预选子文件夹(请参阅)
  • 调用IVsAddProjectItemDlg.AddProjectItemDlg方法,可以选择将项目项模板指定为默认的选定项(请参阅)

  • 这种方法的缺点是,每个新项目项都将添加到项目子文件夹中。为了避免这种情况,您可以在解决方案资源管理器中添加一个新的上下文菜单命令,而不是覆盖“添加新项”。

    这就是我认为必须要做的。谢谢你的信息!这就是我想我必须做的。谢谢你的信息!