将创建的类文件添加到项目中

时间:2013-01-31 08:12:04

标签: c# visual-studio-2010

我有一个控制台应用程序,可以从数据库为我构建一些默认类。构建文件后,我希望能够刷新我的文件夹并查看我的类库中的新文件。

然而,无论我做什么,除非我进入并手动添加现有文件,否则文件不会显示。有没有办法让VS2010查看文件夹并将该文件夹中的任何内容添加到项目中?例如:

  

文件夹> File1.cs,File2.cs,File3.cs,File4.cs

VS2010看到

  

文件夹> File1.cs

如何让VS2010展示这些新类?

6 个答案:

答案 0 :(得分:2)

您的问题是您只会看到.csproj文件中包含和引用的文件。这基本上是一件好事,因为它可以让您最终控制项目中的内容。这会导致您遇到问题,因为插入到项目目录中的已创建文件未被引用。正如您所提到的,您可以手动包含这些文件,但我知道您希望此过程是自动的。

在我看来,最好的方法是让项目创建文件,使用设计时T4模板。设计时T4模板是类似于Razor之前的ASP.NET视图的文件,它允许在项目中生成代码。您可以访问数据库,格式化类,然后将.cs文件直接输出到项目中,而无需构建它。这非常方便,因为它可以让您根据输出捕获可能出现的编译时错误,而无需进行完整的构建。

More information about using T4 can be found here.

And a good walkthrough can be found here.

答案 1 :(得分:1)

  1. 选择可以找到文件的项目
  2. 在解决方案资源管理器的顶部,您可以选择“显示所有文件”
  3. 选择您的文件并包含
  4. 通过修改项目,可以从其他应用程序或脚本自动添加它们.csproj / vbproj文件

        <Compile Include="My Project\MyClass.vb" />
    

    必须在正确的项目组中完成。

答案 2 :(得分:1)

没有尝试过这个,但你应该可以用这个来做..

首先使用应用程序的解决方案获得对项目的引用,然后使用Visual Studio自动化框架(DTE):

ProjectItems p = Project.ProjectItems;
p.AddFromFile("File1.cs");

取自:http://msdn.microsoft.com/en-us/library/envdte.projectitems.addfromfile.aspx 我会进一步阅读它。

答案 3 :(得分:0)

我认为这不是直接可能的。您可以编写template file (t4)来创建cs文件,并在运行转换文件时将它们添加到项目中。

为了在构建之后/之前运行转换文件,您可以编写一个pre / post构建事件。

答案 4 :(得分:0)

这将要求您创建一个VS加载项..您可以找到示例here...

答案 5 :(得分:0)

  

好的,我有一个控制台应用程序正在从数据库为我构建一些默认类。

你不能让这个应用程序在一个文件中写下所有类,比如Proxy.csEntities.cs。然后,每次重新生成文件并重建项目时,都可以访问新类。