2016-04-03 1 views
1

Je veux pouvoir charger et décharger dynamiquement des projets DLL lors de l'exécution. Pour que cela fonctionne, je dois m'assurer que chaque fois que je reconstruis mon projet dans Visual Studio, le fichier .pbd généré a un nom généré pseudo-aléatoire en tant que (chaîne de caractères aléatoire de chemin de fichier valide) .pbd. Cela est dû au fait que le débogueur m'oblige à abandonner le débogage avant de procéder à la reconstruction.Comment Visual Studio génère-t-il un fichier PDB avec un nom généré en sortie aléatoire?

J'ai d'abord essayé de créer un outil de construction pré personnalisé qui a publié un fichier .bat qui a créé une variable système ambience comme celui-ci:

set TIMESTAMP=%DATE:/=-%@%TIME::=-% 
set TIMESTAMP=%TIMESTAMP: =% 
setx buildrandomvar %TIMESTAMP% 

Et cela a bien fonctionné, j'ai vérifié le registre. Mais peu importe ce que j'ai fait, je ne pouvais simplement pas faire référence à "buildrandomvar" dans le cadre du nom de fichier .pdb. Le résultat était juste un ".pbd" vide.

Mon programme de base de données paramètre Nom du fichier est: $ (OutDir) $ (TargetName) $ (buildrandomvar) pdb

J'apprécierais vraiment aucune aide cette question parce que je ne peux pas obtenir ce travail.

+0

https://msdn.microsoft.com/fr-fr/library/dd633440.aspx#BKMK_Static –

Répondre

4

J'ai trouvé la réponse et je vais juste la mettre ici au cas où quelqu'un en aurait besoin.

Dans Visual Studio, cliquez droit sur votre projet, allez à Properties -> Linker -> Debugging -> Générer fichier de base de données du programme et entrez

"$(OutDir)$(TargetName)-$([System.DateTime]::Now.ToString("HH_mm_ss_fff")).pdb" 

Cela devrait générer votre pdb avec un horodatage dans le nom du fichier qui est techniquement pseudo-aléatoire.