2014-04-21 9 views
13

Sto lavorando con un progetto C++/CLI che include una libreria nativa C++ in Visual Studio 2012.Come si imposta la versione di un progetto C++/CLI in Visual Studio?

Il mio progetto C++/CLI ha un AssemblyInfo.cpp. Ho impostato tutti i campi lì, che includono un "AssemblyVersionAttribute". Tuttavia, quando ho creato il mio progetto e controllato le sue proprietà in Windows Explorer, le informazioni sulla versione sono vuote.

Questo è il mio primo progetto C++/CLI, ho esaminato tutte le opzioni nelle proprietà del progetto ma non ho trovato nessuna che funzioni per l'impostazione della versione.

Come si imposta la versione per un progetto C++/CLI?


Aggiornamento

io aggiungerà il contenuto del mio AssemblyInfo.cpp. Ho appena compilato i campi che erano presenti, questo è stato generato automaticamente quando ho creato il progetto.

using namespace System; 
using namespace System::Reflection; 
using namespace System::Runtime::CompilerServices; 
using namespace System::Runtime::InteropServices; 
using namespace System::Security::Permissions; 

[assembly:AssemblyTitleAttribute("MyTitle")]; 
[assembly:AssemblyDescriptionAttribute("")]; 
[assembly:AssemblyConfigurationAttribute("")]; 
[assembly:AssemblyCompanyAttribute("")]; 
[assembly:AssemblyProductAttribute("MyProduct")]; 
[assembly:AssemblyCopyrightAttribute("Copyright © 2014")]; 
[assembly:AssemblyTrademarkAttribute("Inc")]; 
[assembly:AssemblyCultureAttribute("")]; 
[assembly:AssemblyVersionAttribute("3.9.0")]; 
[assembly:ComVisible(false)]; 
[assembly:CLSCompliantAttribute(true)]; 
[assembly:SecurityPermission(SecurityAction::RequestMinimum, UnmanagedCode = true)]; 

risposta

16

La pagina 'Dettagli' in Esplora risorse sta tirando le informazioni dalle strutture non gestite nel file, quindi avrai bisogno di creare una risorsa di versione non gestita in modo da riempire che nel.

  1. In Visual Studio , aggiungi un "File di risorse (.rc)" al tuo progetto, se non ne hai già uno.
  2. Nel file di risorse, aggiungere una nuova risorsa "Versione".
  3. Inserisci i tuoi dati.

Si consiglia di mantenere i vari attributi dell'assieme nel file AssemblyInfo.cpp. Se si utilizza la reflection per ottenere informazioni sull'assembly, verranno utilizzate le informazioni in AssemblyInfo.cpp, non nella risorsa della versione.

+0

Che tipo di progetto hai creato? Ho appena pubblicato il codice che ha il mio file AssemblyInfo.cpp. – Dzyann

+0

Bah, ho usato un file di progetto nell'applicazione a cui sto lavorando attualmente, che ha già le informazioni in due punti per soddisfare sia la terra gestita che quella non gestita. Risposta modificata con ciò che è stato fatto prima in questo progetto per farlo apparire correttamente. Dispiace per la confusione. –

+0

Ok, ho appena provato un progetto di test e funziona. Grazie! – Dzyann

0

Ci sono due attributi; un attributo AssemblyVersion e un attributo AssemblyFileVersion. Con il compilatore C#, la versione del file tiene traccia di AssemblyVersion se non viene fornito uno AssemblyFileVersion. Non riesco a ricordare se il compilatore C++/CLI si comporta in modo diverso, ma sicuramente vale la pena provare a provare AssemblyFileVersion.

+1

Ho provato ad aggiungere anche AssemblyFileVersion, ma non ha alcun effetto. – Dzyann

Problemi correlati