4

基本的に、スタンドアロン プロジェクトだけでなく、ソリューション全体のビルド前後のイベントを実装しようとしています。以前にこの質問を見たことがありますが、同じ問題に対処していません。それぞれ内にとという名前で2 つの.targetsファイルを作成しました。after.TestSolution.sln.targetsbefore.TestSolution.sln.targets.

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Target Name="CreateFile" BeforeTargets="Build">
        <Message Text="Creating a file" Importance="high" />
        <Exec Command="C:\users\me\Desktop\CreateFiles.bat" />
    </Target>
</Project>

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Target Name="CopyFile" AfterTargets="Build">
         <Message Text="Copying a File" Importance="high" />
         <Exec Command="C:\users\me\Desktop\CopyFiles.bat" />
     </Target>
</Project>

これらは、イベントが機能するかどうかを確認するための単純なテスト バッチです。次に、コマンド ラインから MSBuild を使用してソリューションをビルドします。これは完全に機能します。MSBuild は、ソリューションがビルドされる前の "前" でコードを実行し、その後も "後" で同じコードを実行します。ただし、問題は、VS からソリューションを構築しようとすると、バッチが実行されないことです。だから、これがなぜなのかはわかりません。私は MSBuild タスクにかなり慣れていません。

4

1 に答える 1