Alternatif bir yöntem, öğeleri tür olarak bırakmaktır None
. Çözüm gezgininde, dağıtmak istediklerinizi tıklayın ve Content
özelliğiTrue
.
Not: Bunu VS2019'da yaptım ve işler sürümden sürüme değişebilir.
Bunun çalışması için şimdi projenize sağ tıklayın ve "Projeyi Kaldır" ı seçin. Ardından, yüklenmemiş projeye sağ tıklayın ve "Proje_adı.vcxproj dosyasını düzenle" yi seçin.
Düzenleyicide, dosyanın sonuna kadar gidin ve bu hedefi, sondaki </Project>
etiketin hemen önüne ekleyin :
<Target Name="CopyContent" AfterTargets="Build">
<Copy SourceFiles="@(None)" Condition="'%(None.DeploymentContent)' == 'true'" DestinationFolder="$(OutputPath)" ContinueOnError="true" />
</Target>
Şimdi kaldırılan projeye sağ tıklayın ve "Projeyi Yeniden Yükle" yi seçin. İstenirse kaydedip kapatmak için seçin.
Ayrıca şunu da ayarladım OutputDirectory
:
$(SolutionDir)bin\$(Configuration)\$(Platform)\
ve IntermediateDirectory
için:
$(SolutionDir)obj\$(Configuration)\$(ProjectName)\$(Platform)\
Proje Özellikleri Genel sayfasında. Bu, çıktıyı bir "bin" klasörüne ve ara ürünleri çözümünüzün kök dizinindeki "obj" klasörüne yerleştirir.
Not: $(SolutionDir)
MSBuild komut satırından çalıştırıldığında tanımlanmaz. GetDirectoryNameOfFileAbove kullanarak .sln dosyasının bulunduğu klasöre bunu tanımlamak için kullanabileceğiniz bir numara vardır. (okuyucu için alıştırma olarak bırakılmıştır). Ayrıca 2019'da bunu komut satırında zaten doğru bir şekilde ele alıyorlar gibi görünüyor. Evet :)$(SolutionDir)
bir ters eğik çizgi, ondan sonra dolayısıyla hiçbiri bulunmaz. Her birinin sonuçlarının sonunda ters eğik çizgi olmalıdır.
Şimdi, Pro veya üstü sahibi iseniz, lütfen bunu her proje oluşturmanız gerektiğinde yapmayın. Bu berbat olur. Bunun yerine, proje kurulumunuzu tam istediğiniz gibi yaptıktan sonra seçin Project -> Export Template
. Ona bir isim veriyorsunuz ve bir dahaki sefere bunun gibi bir proje oluşturmak istediğinizde, Yeni Proje iletişim kutusunda bu adı seçmeniz yeterli. (Eski versiyonda bunun olduğunu düşünüyorum Files -> Export Teamplate...
.)