Có khá nhiều cách để đạt được mục tiêu của bạn, tùy thuộc vào nhu cầu của bạn.
Cách tiếp cận dễ nhất là đặt các mục siêu dữ liệu ( CopyToOutputDirectory
/ CopyToPublishDirectory
) có điều kiện (giả sử .txt
là một None
mục thay vì Content
, nếu nó không hoạt động, hãy thử <Content>
thay thế):
<ItemGroup Condition="'$(Configuration)' == 'Debug'">
<None Update="foo.txt" CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>
Nếu cần kiểm soát nhiều hơn, cách tiếp cận linh hoạt nhất là thêm các mục tiêu tùy chỉnh gắn vào quá trình xây dựng trong tệp csproj:
<Target Name="CopyCustomContent" AfterTargets="AfterBuild">
<Copy SourceFiles="foo.txt" DestinationFolder="$(OutDir)" />
</Target>
<Target Name="CopyCustomContentOnPublish" AfterTargets="Publish">
<Copy SourceFiles="foo.txt" DestinationFolder="$(PublishDir)" />
</Target>
Điều này sao chép một tệp vào các thư mục tương ứng. Để biết thêm tùy chọn cho <Copy>
nhiệm vụ, hãy xem tài liệu của nó . Để giới hạn điều này ở một số cấu hình nhất định, bạn có thể sử dụng Condition
thuộc tính:
<Target … Condition=" '$(Configuration)' == 'Release' ">
Condition
Thuộc tính này có thể được áp dụng cả trên <Target>
phần tử hoặc trên các phần tử nhiệm vụ như <Copy>
.