这对我来说听起来像是幻想,但我可以在我的项目中创建一个类,在项目构建时运行方法或类似的东西吗?是否有接口或抽象类?
答案 0 :(得分:5)
您的项目文件由MSBuild文件组成,您可以从中执行任何操作:
http://msdn.microsoft.com/en-us/library/7z253716.aspx
基本上,您可以在Visual Studio中“卸载”项目文件,并使用普通文本编辑器对其进行编辑。
在* .csproj文件(以及其他一些项目类型中)中查找此区域,请注意并非所有项目文件都是MSBuild兼容文件:
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
只需在那里添加MSBuild任务:)
答案 1 :(得分:1)
正如Zidad指出的那样,您可以编辑MSBuild项目文件。
您还可以在PreBuild
和PostBuild
个活动中添加一些内容。检查项目属性窗格。
答案 2 :(得分:1)
我认为你需要编写MSBuild Tasks。 如果您想要更好的个性化,您可以创建像批处理一样的东西,或者如果您想要一个控制台或winform应用程序并调用命令行msbuild并以编程方式执行操作。
答案 3 :(得分:0)
MSBuild能够使用从Task类派生的自定义任务。这使您可以创建自定义任务,并在构建过程中将它们挂钩到各个点。
但听起来几乎就像你想要一些东西在代码编译时采取行动,这显然是不可能的,因为代码还没有被编译。