0

ascx コードに従っていくつかの JS ファイルを自動的に生成する Visual Studio の拡張機能を作成しています。

 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

ターゲットを書きやすくなると思います。必要なのは、適切な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 に答える
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 に答える