English 中文(简体)
Visual Studio——拦截和改变路径创建解决方案和项目
原标题:
  • 时间:2009-04-14 14:05:42
  •  标签:

我工作在一个自动化的过程来构建一个基本应用程序包括公共库和项目,检查所有的源代码控制和设置的基础构建解决方案。大多数的问题我已经解决了,只有一个除外。有可能截获用户给定路径的解决方案和项目和改变路径?

换句话说。

the user gives C:/Projects/App1 on the create new project screen. the solution and projects actually get stored at C:/Projects/App1/trunk/source/App1

我想更改路径,以促进我们的助教是如何设置连续构建。我已经解决了其他大多数问题,除了这个,看来这应该是最简单的。我想看看我能改变它在我IWizard类,但到目前为止,没有运气。任何建议将不胜感激。

我应该补充说,这个过程是由用户选择一个自定义模板。如果没有回答使用自定义模板,我将切换到VS插件。

斯科特

问题回答

你应当看看< a href = " http://msdn.microsoft.com/en-us/teamsystem/aa718948.aspx " rel = " nofollow noreferrer " >指导自动化工具包< / >。除此之外,它允许您创建解决方案模板,会让你做所有你已经提到的,等等。你甚至可以向用户显示一个向导界面要求的选项,然后您可以定制解决方案,从要包括哪些项目和文件引用。您可以设置各种各样的项目设置;执行标准等。

你可以看到一个复杂的例子都在< a href = " http://www.codeplex.com/servicefactory/ " rel = " nofollow noreferrer " > < / >服务工厂。还有一个手枪论坛< a href = " http://social.msdn.microsoft.com/forums/en-US/vsgatk/threads/ " rel = " nofollow noreferrer " > http://social.msdn.microsoft.com/forums/en-US/vsgatk/threads/ < / >。

手枪是一个伟大的方式使用Visual Studio扩展真的把事情做好。

调查之后,我发现IWizard接口甚至被称为之前的文件夹结构解决方案(而不是项目)已经创建。因为我需要取得进展,我已经决定继续,切换到一个Visual Studio插件而不是一个纯粹的模板化的过程。

我已经有了更多的运气创建模板化的解决方案以编程方式然后添加项目到我的解决方案。我能够解决这个问题。我已经剪掉一些代码,但这给了基本的思路。

System.Type vsType = System.Type.GetTypeFromProgID("VisualStudio.DTE.9.0"); DTE2 vs = (DTE2)System.Activator.CreateInstance(vsType, true);

溶液= (Solution2) vs.Solution;

soln.Create (PathProjectRoot SolutionName);

soln.SaveAs (SolutionName);

谢谢大家的建议。

我不知道你在做什么,但是这样是可能的项目模板。虽然不知道这同样适用于你的情况。

<强>补充道:< /强>这样的:

<TemplateContent>
    <Project>
        <Folder>
            <Folder>
                <ProjectItem></ProjectItem
            </Folder>
        </Folder>
    </Project>
</TemplateContent>




相关问题
热门标签