0

我正在为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。谢谢!

4

2 回答 2

0

我想我找到了解决方案

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

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

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

于 2012-06-15T20:20:42.543 回答
0

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

<Target Name="AfterBuild" DependsOnTargets="GenerateScripts" />
<Target Name="GenerateScripts">
  <ItemGroup>    
       <AscxFiles Include="@(Content)" Condition="'%(Extension)'=='.ascx'" />
  </ItemGroup>
  <JSCodeGenTask FileNames="@(AscxFiles)" OutPath="$(OutPath)" />
</Target>
于 2012-06-18T13:40:45.303 回答