如何动态创建解决方案文件.sln,.csproj,assemblyinfo.cs

时间:2012-01-20 13:03:45

标签: c#

我正在框架4.0中的visual studio 2010中创建代码生成工具作为Windows窗体应用程序。

我想动态构建.csproj文件,assemblyinfo.cs和.sln文件,包括我创建的一些类文件,这样当我点击这个.sln文件时,它会作为项目打开,包含我生成的所有类文件

这意味着当我点击generateolution按钮时,应该自动创建一个新项目,所有文件夹都是在我们从visual studio创建新项目时创建的。

请帮帮我。

4 个答案:

答案 0 :(得分:2)

最好使用Visual Studio的自动化功能而不是尝试自己生成文件 - 有一篇关于MSDN“Controlling the Solution and Its Projects”的文章,其中概述了生成解决方案的过程,尽管它有点详细信息:documentation for the solution2 interface中还有示例代码,其中显示了如何创建控制台应用解决方案,以及How to Programatically create projects上的文章。

希望这足以让你开始。

答案 1 :(得分:1)

要以编程方式创建项目,您可以使用 Microsoft.Build.Evaluation.Project MSDN documentation),对于解决方案,只需使用 EnvDTE ({{ 3}})

答案 2 :(得分:0)

什么是解决方案?我认为一个包含引用和属性的文件。

那么什么是项目文件,它有一些关于表单和类的信息。

基本上我们可以写成这样的.sln文件:

Solution Name : Sol1
Projects      : 1
References    : System,System.Text,System.Linq

和项目文件:

Forms Count     : 4
Classes         : 8
Folders         : 2
Resources       : 0
Silver light    : N
Web             : N
Type            : Windows Application
Directory       : C:\Dir
Framework       : 4
Parent Solution: Sln1

或者您可以为解决方案和项目创建数据结构(类)。

但是最好联系MSDN并为.sln文件获取自己的数据结构和标题。

答案 3 :(得分:0)

也许您可以使用Visual Studio创建一个普通的vanilla解决方案/项目,只需要您最少的代码,然后使用创建的文件作为代码生成过程的模板。

您需要更改项目文件以引用生成的文件。 .csproj文件只是XML,因此更改它应该更容易 - 看看它如何添加源文件作为指南。一个.sln文件编辑会有点麻烦,因为这是一种自定义格式,但我想某种字符串替换/ RegEx可以工作。