我正在尝试创建自定义Visual Studio向导来创建生成的代码。
一切正常但唯一的问题是项目文件不会保存在右侧文件夹中。我正确点击了一个项目文件夹并选择了“新项目...”。但是向导会将文件保存在项目根目录中。
代码:
public class ProcedureClass : IDTWizard
{
public void Execute(object Application, int hwndOwner, ref object[] ContextParams, ref object[] CustomParams, ref EnvDTE.wizardResult retval)
{
// Showing wizard dialog and generating code here...
var projectItems = ContextParams[2] as ProjectItems;
var project = projectItems.ContainingProject;
retval = wizardResult.wizardResultSuccess;
project.ProjectItems.AddFromTemplate(tempFile, ContextParams[4]);
}
}
这是一张图片,显示我点击的位置以及文件的创建位置:
答案 0 :(得分:1)
这是预期的,因为您的代码使用projectItems.ContainingProject,它始终返回根项目。 看我的文章
HOWTO:从Visual Studio .NET宏或加载项导航解决方案的文件 http://www.mztools.com/articles/2006/MZ2006004.aspx
正确的代码是: