C# C语言中的程序构建事件?

C# C语言中的程序构建事件?,c#,.net,build,C#,.net,Build,对我来说,这听起来像是幻想,但我能在项目中创建一个类,在项目构建时运行方法或类似的东西吗?是否有用于此的接口或抽象类?您的项目文件由MSBuild文件组成,您几乎可以从它们执行任何操作: 基本上,您可以在VisualStudio中“卸载”项目文件,并使用普通文本编辑器对其进行编辑 在*.csproj文件和其他一些项目类型中查找此区域,请注意,并非所有项目文件都是与MSBuild兼容的文件: <!-- To modify your build process, add your task

对我来说,这听起来像是幻想,但我能在项目中创建一个类,在项目构建时运行方法或类似的东西吗?是否有用于此的接口或抽象类?

您的项目文件由MSBuild文件组成,您几乎可以从它们执行任何操作:

基本上,您可以在VisualStudio中“卸载”项目文件,并使用普通文本编辑器对其进行编辑

在*.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任务:

您的项目文件由MSBuild文件组成,您几乎可以从中执行任何操作:

基本上,您可以在VisualStudio中“卸载”项目文件,并使用普通文本编辑器对其进行编辑

在*.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任务:

MSBuild能够使用从类派生的自定义任务。它允许您创建自定义任务,并在构建过程中将它们连接到各个点


但听起来好像您希望在代码编译时执行某些操作,这显然是不可能的,因为代码尚未编译。

MSBuild能够使用从类派生的自定义任务。它允许您创建自定义任务,并在构建过程中将它们连接到各个点


但是,听起来好像您希望在代码编译时执行某些操作,这显然是不可能的,因为代码尚未编译。

正如齐达德指出的,您可以编辑MSBuild项目文件本身


您还可以在预构建和后构建事件中添加一些内容。检查项目属性窗格。

正如齐达德指出的,您可以编辑MSBuild项目文件本身


您还可以在预构建和后构建事件中添加一些内容。检查项目属性窗格。

我认为您需要编写MSBuild。
如果您想要更好的个性化,您可以创建诸如批处理之类的内容,或者如果您想要控制台或winform应用程序,则可以调用命令行msbuild并以编程方式执行操作

我认为您需要编写MSBuild。
如果您想要更好的个性化,您可以创建诸如批处理之类的内容,或者如果您想要控制台或winform应用程序,则可以调用命令行msbuild并以编程方式执行操作

我很抱歉对此有点怀疑,但我们可以知道原因吗?它可能会帮助我们提供其他方法来解决您的问题。我有一个插件框架的基本库,我希望引用该程序集的所有项目都有自定义生成的事件。更准确地说,将所有输出文件移动到一个文件夹。很抱歉对此有点怀疑,但我们可以知道原因吗?它可能会帮助我们提供其他方法来解决您的问题。我有一个插件框架的基本库,我希望引用该程序集的所有项目都有自定义生成的事件。更准确地说,将所有输出文件移动到一个文件夹。我已经知道了这一点,但我正在寻找一种项目内代码方式。为什么不使用PostBuild或AfterBuild事件从项目中运行控制台应用程序?或者只编写自定义msbuild任务…我已经知道了这一点,但我正在寻找项目内代码方式。为什么不使用PostBuild或AfterBuild事件从项目中运行控制台应用程序?或者只编写自定义msbuild任务。。。