Domanda

Voglio rimuovere AssemblyInfo.cpp, a causa di alcuni errori di metadati che a volte emergono.

AssemblyInfo.cpp è utile per qualcosa? O può essere rimosso senza problemi?

È stato utile?

Soluzione

Ho scoperto una distinzione per questo file: ha a che fare con i valori riportati nelle chiamate a code> Assembly.GetReferencedAssemblies . Stavo lavorando al monitoraggio dei numeri di versione dei nostri file binari dal nostro repository SVN incorporando i numeri di revisione in essi. Inizialmente anch'io stavo aggiornando AssemblyInfo.cpp e non ho trovato nulla riportato nella scheda dei dettagli delle proprietà del file per il file binario. Sembra che questo file non abbia fatto nulla per me in termini di aggiornamento di quei dettagli, che era non il caso con aggiornamenti simili a AssemblyInfo.cs di un csproj. Perché la differenza giusta?

Ora in uno di questi csproj ci capita di fare riferimento a un vcxproj e che csproj scarica in un registro le versioni di tutti i suoi assembly di riferimento usando il metodo .NET Assembly.GetReferencedAssemblies . Quello che ho scoperto è che il numero riportato in quel registro non era la versione di vcxproj fornita dalla risorsa VS_VERSIONINFO che ho aggiunto (che riporta i dettagli della versione nella scheda dei dettagli delle proprietà del file). Invece il numero riportato corrispondeva effettivamente a quello definito in AssemblyInfo.cpp .

Quindi per i file vcxproj sembra che VS_VERSIONINFO sia in grado di aggiornare i contenuti che trovi nella scheda dei dettagli delle proprietà dei file ma AssemblyInfo.cpp è in grado di esporre la versione a GetReferencedAssemblies . In C # queste due aree di segnalazione sembrano essere unificate. Forse c'è un modo per dire a AssemblyInfo.cpp di propagarsi nei dettagli del file in qualche modo, ma quello che finirò per fare è duplicare le informazioni di build in entrambe le posizioni in un passaggio di pre-build. Forse qualcuno può trovare un approccio migliore.

Altri suggerimenti

Finora non ho mai avuto AssemblyInfo.cpp nelle mie DLL c ++ gestite, quindi non credo sia necessario.

(Ho appena aggiunto il file per avere informazioni sulla versione per le mie DLL c ++).

Perché non solo correggere gli errori? In quella nota, quali errori stai riscontrando?

Questo file fornisce informazioni come un numero di versione che è sicuramente necessario per usare l'assembly che hai creato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top