Visual Studio MSbuild重命名文件事件

时间:2012-06-15 17:27:52

标签: c# visual-studio msbuild

我正在为visual studio编写扩展,它将根据ascx代码自动生成一些JS文件。

 public class JSCodeGenTask : Task

此任务注册为构建后任务,这意味着它将在每次构建后执行。该类扩展了Task,并在csproj中注册。

   <Target Name="AfterBuild">
      <JSCodeGenTask FileNames="@(something)" outPath="@(somethingelse)" />
   </Target>

问题是,我想跟踪程序员重命名ascx文件,即我想要那个ascx文件的名字。有没有办法访问这些信息?

 public event RenamedEventHandler Renamed

我知道重命名事件可以在这里使用,但我不知道如何将此事件注册到Visual Studio - .csproj。谢谢!

2 个答案:

答案 0 :(得分:0)

我想我找到了解决方案

http://msdn.microsoft.com/en-us/library/bb166508%28VS.100%29.aspx

它应该实现为自定义工具而不是MSbuild事件。例子可以在

找到

http://code.msdn.microsoft.com/SingleFileGenerator#BuildAndRun

答案 1 :(得分:0)

我认为写目标会更容易。您只需使用* .ascx文件创建适当的ItemGroup即可。您可以从Content

获取所有内容(或已应用过滤器)
<Target Name="AfterBuild" DependsOnTargets="GenerateScripts" />
<Target Name="GenerateScripts">
  <ItemGroup>    
       <AscxFiles Include="@(Content)" Condition="'%(Extension)'=='.ascx'" />
  </ItemGroup>
  <JSCodeGenTask FileNames="@(AscxFiles)" OutPath="$(OutPath)" />
</Target>