Şu anda .\Release
klasörüne kod derleyen bir Web Dağıtım Projesi kurdum. Oluşturulduktan sonra dosyaları başka bir makineye kopyalamak istiyorum (çünkü oluşturduğunuz dizin silinir ve yeniden oluşturulur).Web Dağıtım Projesi - Oluşturulduktan Sonra Dosyaları Kopyalayın
şöyle kurulduğundan kopyalamak dosyaları tanımlamaya yönelik ItemGroup:
<ItemGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<ReleaseFiles Include=".\Release\**\*" />
<OverrideFiles Include="..\website\App_Code\override\site.com\**\*" />
</ItemGroup>
'web sitesi' Birden çok site için kullanılan kod, bu nedenle çözüm içinde kurmak birçok web dağıtım projesi vardır.
<Target Name="AfterBuild" Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Copy SourceFiles="@(ReleaseFiles)" ContinueOnError="true" SkipUnchangedFiles="true" DestinationFiles="@(ReleaseFiles->'\\server\web\site.com\%(RecursiveDir)%(Filename)%(Extension)')" />
<Copy SourceFiles="@(OverrideFiles)" DestinationFiles="@(OverrideFiles->'\\server\web\site.com\%(RecursiveDir)%(Filename)%(Extension)')" />
</Target>
Ancak ReleaseFiles kopyalanmaz, bunun nedeni ne olabilir:
Sonra ben dosyalarını kopyalamak için AfterBuild hedef var? .\TempBuildDir\folder\subfolder - The process cannot access the file because it is being used by another process.
hatası her zaman farklı olabilir, ancak bu ileti görünmese bile dosyalar hala kopyalanmıyor.
Sorun, daha önce çalıştı.
CreateItem ItemGroup veya Target? – SamWM
Kopyalama görevlerinden önce 'AfterBuild 'hedefine koymalısınız. –
Bu benim için de düzeltildi – SamWM