2009-12-21 20 views
31

Visual Studio'da (2008), proje oluşturulmuş olsa bile bir C++ projesi için oluşturma sonrası olay zorlamak mümkün -bugüne kadar?Visual Studio: Project güncelleştirilmiş olsa bile C++ projesi Post-Build olayı

Özellikle, bir COM işlem içi sunucu DLL'si oluşturan bir projem var. Projede "regsvr32.exe $ (TargetPath)" çalışan bir post-build adımı var. Bu, bir "Rebuild" üzerinde iyi çalışır, ancak yalnızca projenin kaynağında değişiklikler yapılmışsa, bir "Build" üzerinde çalışır.

Herhangi bir değişiklik yapmadan "Oluştur" yaparsam, Visual Studio basitçe projenin güncel olduğunu ve hiçbir şey yapmadığını bildirir - Yapı Sonrası Olay çalıştırılmıyor. Olayı bu durumda çalıştırmaya zorlayabilmem için herhangi bir yolu var mı? Bu DLL'nin kendisi güncel olmasına rağmen, kayıt bilgileri olmayabilir, çünkü bu gereklidir.

cevap

43

Çalıştırılacak bir toplu iş dosyasını kurmak için Özel Yapılandırma Adımı özellik sayfasını kullanabilirsiniz. Bu, Çıkışları ayarında belirtilen Dosya bulunamazsa veya güncel değilse çalışır. Sadece var olmayan bir dosyayı burada belirtin ve özel oluşturma adımı her zaman çalışır. Çıktı dosyası hiçbir zaman bulunamadığı için projeniz güncel olsa bile çalışır.

+0

** Özel Oluşturma Adımı ** için ** Çıktı ** ayarını göremiyorum. ** Çıktıları ** – bpeikes

+0

nereden buluyorsunuz? Bu genel kavramını, çıktı dosyalarını silmek için bir AfterBuild hedefinde Exec kullanmak için kullandım, öyle ki

+0

Aman Tanrım, StackOverflow olmadan bunu nasıl bilmeliyim ?! Burada, MSDN'de, oluşturma adımlarının yürütme sırasına ve olayları oluşturmaya dair bazı ek bilgiler yer alır: https://msdn.microsoft.com/en-us/library/e85wte0k.aspx Benim durumum için "Post- "Özel Oluşturma Adımına" Olay Oluşturun ve mevcut olmayan "Çıkışlar" da bir dosya adı belirtin. Bu, proje güncel olsa bile, özel oluşturma adımını güvenilir bir şekilde yürütür. – j00hi

0

Kayıt bilgileri, büyük ölçüde .rgs dosyasında bulunanlarla belirlenir. Bu dosya değişirse proje inşa edilir. COM kaydının projeyi kirletmeden nasıl değişebileceğinden emin değilim. Özel durumunuz hakkında daha fazla bilgi vermeyi düşünüyor musunuz?

+0

"COM kayıt bilgileri güncel olmayabilir", yani kayıt defterindeki bilgiler değişmiş olabilir, değil .rgs dosyasında. Kayıt defterinde yer alan bilgileri .rgs'ye göre ne olması gerektiğine geri yüklemek için post-build adımı isterim. – user200783