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