MSBuild:编译前嵌入文件的任务

MSBuild:编译前嵌入文件的任务,msbuild,Msbuild,我有以下需要: 我必须创建一个MSBuild任务,该任务将生成一个xml文件,然后需要将该文件作为资源嵌入到正在生成的一个项目中。如何更改MSBuild项目以实现这一点?是否有内置任务可用于嵌入文件,还是需要创建一个?如果是后者,那么这方面的任何方向都是很好的 提前谢谢 更新:根据给出的建议,我最终将一个空xml文件作为资源添加到项目中,创建了一个简单的MSBuild自定义任务(http://bartdesmet.net/blogs/bart/archive/2008/02/15/the-cus

我有以下需要:

我必须创建一个MSBuild任务,该任务将生成一个xml文件,然后需要将该文件作为资源嵌入到正在生成的一个项目中。如何更改MSBuild项目以实现这一点?是否有内置任务可用于嵌入文件,还是需要创建一个?如果是后者,那么这方面的任何方向都是很好的

提前谢谢


更新:根据给出的建议,我最终将一个空xml文件作为资源添加到项目中,创建了一个简单的MSBuild自定义任务(http://bartdesmet.net/blogs/bart/archive/2008/02/15/the-custom-msbuild-task-cookbook.aspx)它会根据需要将内容写入该文件,并将该任务作为“BeforeBuild”目标运行。工作起来很有魅力。请注意,我必须“将文件从源代码管理中排除”,因此不会在每次构建项目时都签出该文件,而且我还向任务中添加了一些代码,以确保该文件不是只读的(http://www.del337ed.com/blog/index.php/2007/09/05/clearing-the-read-only-flag-on-a-file-in-c/).

您可以在.csproj/.vbproj文件目标中使用BeforeBuild(不要忘记取消注释)中的内置项,并在BeforeBuild中使用所需的MSBuild任务。在该项目中,将该资源添加为嵌入式资源。就这些

如果不需要从头开始创建整个Xml文件,并且可以向项目中添加stubb文件,则可以使用在BeforeBuild目标中更新此文件(请参见Sergios答案).

您是让MSBuild只构建您的VS解决方案,还是单独构建。*proj?我不是单独构建*proj文件…这就是我的想法。谢谢关于如何将文件添加为嵌入式资源,有什么指导吗?啊,是的。。。那是个好主意。我想我需要对那个文件“从源代码管理中排除文件”,这样我就可以在不必签出的情况下更新它。谢谢。@Claudio希望你能像这样工作。我对构建解决方案与构建项目的看法是,您是否需要修改。*项目(在构建之前),或者是否可以在更高级别的构建脚本中执行任何任务。