Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 以编程方式向项目中添加文件的最简单方法_C#_Automation - Fatal编程技术网

C# 以编程方式向项目中添加文件的最简单方法

C# 以编程方式向项目中添加文件的最简单方法,c#,automation,C#,Automation,我想通过编程方式将类文件添加到c#项目中。现在我认为最快的方法可能是直接编辑xml文件,但我知道有一些api用于处理项目 问题是我想运行一个只更新文件的exe。我不想让目标项目在VisualStudio中打开,这似乎是插件使用的自动化接口所必需的 那么,有人知道如何使用api来实现这一点吗?或者我一直在直接使用xml吗?T4文件提供了全面的支持,允许您在项目中以编程方式生成文件,一个很好的例子是用于自跟踪实体和POCO的实体框架模板,您可以在VS图库中获得。 此外,T4还有几个不错的编辑器,可以

我想通过编程方式将类文件添加到c#项目中。现在我认为最快的方法可能是直接编辑xml文件,但我知道有一些api用于处理项目

问题是我想运行一个只更新文件的exe。我不想让目标项目在VisualStudio中打开,这似乎是插件使用的自动化接口所必需的


那么,有人知道如何使用api来实现这一点吗?或者我一直在直接使用xml吗?

T4文件提供了全面的支持,允许您在项目中以编程方式生成文件,一个很好的例子是用于自跟踪实体和POCO的实体框架模板,您可以在VS图库中获得。
此外,T4还有几个不错的编辑器,可以让您在编辑模板时获得智能

编辑XML听起来不错。不过,你想完成什么?@minitech我写了一些代码,根据我的数据库模式生成类,我只是想简化更新项目的过程,当模式发生变化时,尽可能多地更新它们。关于编辑xml,我看到有多个ItemGroup节点,我想知道第一个节点是否总是引用,第二个节点是否总是项目文件,或者我是否需要分析它们的内容以找出将文件添加到哪个节点。在我看来,您是在发明实体框架。它已经有了用于普通EF实体的模板、用于带有POCO的EF上下文的模板、用于自跟踪实体的模板、用于存储库模式的模板等等。如果您不想实现EF没有的功能—ief批量实体更新、批量插入、具有多个结果集的stor进程的通用支持等,您最好尝试使用它,因为它有良好的UI,允许从DB更新模式,反之亦然。此外,4.3测试版代码首先很好地管理了db模式迁移(如果您没有数百个表)。@vittore我查看了EF,但当时它似乎更麻烦,我认为这是必要的。诚然,在阅读了许多评论之后,我并没有给它太多的机会。Rick Strahl()在给我的一封电子邮件中提到,有时他甚至觉得ado.net更直观、更易于维护。从Jeff Atwood的博客中我可以看出,即使StackOverflow也使用普通的linq2sql而不是EF。我这么做有多种原因,但其中一个主要原因是我不喜欢EF的接口。@vittore哦,另一件让我一直困扰l2s的事情(尽管我确实喜欢它,并将它用于某些东西)是,在Table类中,唯一的限制是它是一个类。尽管我的代码远没有l2s那么复杂,但它相当于一个“tenty”类总是继承自一个公共基类,因此我可以添加在l2s中更难实现的公共功能。不确定EF在这方面是否与L2相似,但我想是的。是的,我研究了一下,并正在努力实现这一路线,但学习曲线(虽然不是很大)超出了我的处理能力,我可以在未来两三天的时间内完成这件事。基本上,我是想在我的团队领导有机会参与这一过程之前,让我的老板看到一些东西,并得到他的批准。他是那种有学位、经验很少的人,认为自己知道做任何事情的最佳方式。他在设计决策中的投入越少越好。你知道我在哪里可以得到一些预先制作的模板样本吗?我试着下载了一些,但我认为它们可能是旧版本的,因为它们不起作用。有很多t4模板,我指给你的EF模板,需要你先创建实体框架模型,它将使用t4生成基于xml的类。查看这两篇文章。是的,最简单的例子在这里谢谢,我实际上试着复制/粘贴上一个网站的一些例子,但是VS2010给了我错误。不知道是以前的版本还是我做错了什么。