2010-01-05 17 views
7

Bir Win32 "Console" uygulaması oluşturan bir proje dosyasına bir Win32 uygulaması oluşturan varolan bir visual studio proje dosyasını dönüştürmek mümkün müdür? Eğer öyleyse, bu nasıl yapılır? Özür dilerim ve birçok insanı zıt yaptığını gördüm, ama bu şekilde değil.Win32 uygulama projesini bir konsol uygulamasına dönüştürmek mümkün mü?

+0

Biraz iş gibi görünüyor, ne kadar Windows şeyleri var - formlar ve diyaloglar gibi - tüm bunları yeniden yazmanız gerekecek. Programların başlangıcı söz konusu olduğunda - bu yeterince önemsiz olmalı - sadece yeni bir komut satırı uygulaması projesinden dosyaları kopyalayın. Oh evet ve SUBSYSTEM anahtarı. –

+0

Yah, Proje + Özellikler, Uygulama sekmesi, Çıkış Tipi = Konsol Uygulaması. Bu sana bir konsol penceresi getirir. De. –

cevap

12

Bağlayıcı düzeyinde, /SUBSYSTEM switch to the linker ile ayrım yapılır. Ancak, Visual Studio'daki proje türü etrafında oluşturulmuş çok fazla şey olduğundan, bazen yeni bir konsol modu projesi oluşturmak ve varolan kodu yeni projeye eklemek en kolay yoldur.

+0

Temelde bu tavsiyeyi almayı bitirdim ... Teşekkürler .. – dicroce

+0

Bunu kolayca proje özelliklerinde değiştirebilirsiniz: http://hdrlab.org.nz/articles/windows-development/changing-a-windows-app- to-a-konsol-app-in-işitsel-stüdyo/'. Ayrıca bir önişlemci tanımı da vardır: '_WINDOWS', hem hata ayıklama hem de sürüm oluşturma için' _CONSOLE' olarak değiştirilmelidir. –

0

Görsel stüdyo sürümünüzü belirtmezsiniz. XML proje tanımları olan sürümlerde, XML'i değiştirebilirsiniz. Heck, XSLT ile yapabilirsin. Eski sürümde, yeni bir proje oluşturmadan daha iyi olursunuz.

İki basit proje (bir GUI, bir Konsol) oluşturmalı ve yapılması gerekenleri görmek için proje tanımı XML dosyalarını karşılaştırmalısınız.

+0

Visual Studio 2008. XML'de özellikle neyi değiştirmeliyim? – dicroce

1

Bunun otomatik bir yolunun farkında değilim. Bu anahtarı yapmak için tüm proje ayarlarını değiştirebileceğinizi düşünüyorum. Ama sıkıcı olurdu. Yeni bir proje oluşturmanın ve kaynak dosyaları eklemenin daha kolay olacağını düşünüyorum.

0

Bu, ancak uygulamanın nasıl oluşturulduğuna bağlı olarak mümkündür. Tasarım, iş mantığını sunumdan net bir şekilde ayıran bir şeyse, henüz yapılmamışsa, iş mantığı kodunu ve sınıfları ayrı bir kitaplığa ayıklayabilirsiniz. Bu adım tamamlandıktan sonra, konsol uygulaması (veya başka bir uygulama) kullanabilmesi için bu kütüphane için yeni bir API oluşturmanız gerekir. Diğer yandan, formlar iş mantığı içeriyorsa, bu işlemler yeni, sunum dışı sınıflara çekilmeli ve yeni kitaplıklarınıza eklenmelidir. Dediğim gibi ... mümkün, ama çok iş olabilir.

İlgili konular