2016-04-14 19 views
0

Her zaman (durum bilgisi olan) Aktör hizmeti ile bir çözüm oluşturduğumda, hizmet otomatik olarak ApplicationManifest.xml DefaultServices bölümüne eklenir.Aktör Hizmeti için DefaultService'in oluşturulması nasıl devre dışı bırakılır?

El ile başlatmak istediğim hizmetler için bu davranışı nasıl devre dışı bırakabilirim?

<DefaultService> etiketini kaldırarak ServiceManifest.xml Aktör hizmetini değiştirmeyi denedim, ancak her yapıda otomatik olarak yeniden eklenir.

+0

msbuild yolunu bu sorunu giderdi mi? Kendimi aynı sorunla karşılaşıyorum –

+0

msbuild rotasını hiç denemediğimden emin değilim. Benim için sadece küçük bir sıkıntı olduğu için bu konuda zaman harcamak gibi hissetmedim. Her neyse, bunu yapmak için msbuild ile uğraşmaktan daha kolay bir yol olmalı. –

cevap

0

Tüm hizmetler varsayılan olarak otomatik olarak ayarlanır. Sadece bu işlevselliği devre dışı bırakamazsınız. En iyi seçenek, bu istenmeyen değişiklikler dosyaya uygulandıktan sonra uygulama bildirim dosyasını güncelleyen bazı MSBuild mantığını eklemek olacaktır. Bunu ana paketleme mantığına entegre edebilirsiniz, böylece yayınladığınızda veya F5'ten F5 otomatik olarak yürütülür.

Bunu yapmak için, .sfproj dosyasına bir MSBuild hedef ekleyebilirsiniz:

<Target Name="AfterPackage" AfterTargets="Package"> 
    <!-- Insert your MSBuild logic here --> 
</Target> 

Orada kendi MSBuild mantığı ekleyerek, uygulama boyutunun manifest dosyasında istiyoruz ve sahip gerekli değişiklikleri yapabilirsiniz VS bir paket işlemi çalıştırdığında bu değişiklikler örtülü olarak yürütülmektedir. Dolayısıyla, sizin durumunuzda, dosyayı varsayılan hizmet olarak tanımlanan hizmete sahip olmayacak şekilde güncelleyebilirsiniz. PackageLocation MSBuild özelliğini kullanarak paket klasörünün yolunu belirleyebilirsiniz.

İlgili konular