前述のように、binフォルダーとobjフォルダーをソース管理に含める理由はありません。それらの内容は揮発性です。
ただし、実際にそれを制御できない場合は、適切なフォルダーとファイルを書き込み可能にして上書きできるようにするか、書き込み可能にした後でbinフォルダーとobjフォルダーを削除する必要があります。これは比較的簡単で、これを実現するにはいくつかの方法があり、適切なビルドのためにTFSBuild.projファイルを変更する必要があります。
特定のファイルを書き込み可能にするには、次を使用します。
<Attrib Files="[path to your file]" ReadOnly="False"></Attrib>
attrib
フォルダ全体の内容を書き込み可能にするには、バッチ処理を使用してファイルのリストを取得し、次のタスクを使用してファイルを繰り返し処理します。
<Target Name="MakeFilesWriteable">
<Attrib Files="@(TargetFiles)" ReadOnly="false" />
</Target>
<ItemGroup>
<TargetFiles Include="[path to bin folder]\**\*.*" />
</ItemGroup>
または、binフォルダーでDeleteを実行することもできます。
<RemoveDir Condition="Exists('[path to bin folder]')" Directories="[path to bin folder]" />
バッチ処理の例を除いて、これらのタスクBeforeCompileSolution
はビルドプロジェクトファイルのオーバーライドターゲット内に直接配置できます。バッチ処理の例では、単に呼び出しターゲットを実行します。使用する方法を選択すると、次のようにBeforeCompileSolution
なります。
<Target Name="BeforeCompileSolution" >
<CallTarget Targets="MakeFilesWriteable" />
<Attrib Files="[path to your file]" ReadOnly="False"></Attrib>
<RemoveDir Condition="Exists('[path to bin folder]')" Directories="[path to bin folder]" />
</Target>