2010-02-23 3 views
4

J'essaie de publier un jeu XNA via l'outil Visual Studio Publish. Le jeu utilise du contenu compilé et du contenu non compilé. Fondamentalement, j'ai un niveau chargé en sérialisation via XML et une courte vidéo. Ces deux fichiers sont essentiellement streamés, donc ils ne sont pas compilés. L'outil de publication inclut le contenu compilé correctement, mais les références aux chemins d'accès relatifs sont rompues car les répertoires CurrentDirectory pour les programmes installés sont définis dans le dossier AppData.Comment inclure du contenu non compilé à côté d'un programme C# publié via Visual Studio

Je sais que XNA peut maintenant compiler XML sans avoir à écrire des processeurs de contenu personnalisés, mais je ne veux pas particulièrement revenir en arrière pour réécrire cela. Je suppose que je peux s'il n'y a pas d'autre option, mais cela ne résout toujours pas le problème de la vidéo.

Y at-il un moyen de configurer l'outil de publication afin que je puisse faire ce que je dois faire? Un paramètre ou quelque chose? Ou devrais-je utiliser un outil plus complet comme NSIS?

Répondre

7

Cliquez avec le bouton droit de la souris sur le projet, Ajouter une ressource existante, parcourez et sélectionnez le fichier que vous souhaitez ajouter. Ensuite, faites un clic droit sur le fichier et cliquez sur Propriétés et modifiez "Action de construction" sur le contenu, et "Copier dans le répertoire de sortie" sur Copier si plus récent (ou copiez toujours le cas échéant). Ensuite, vous pouvez y accéder en utilisant le chemin relatif.

J'utilise pour mon XML et je peux accéder à mon contenu en utilisant le code suivant:

XmlDocument document = new XmlDocument(); 
document.Load("Resources/DefaultConfig.xml"); 

S'il vous plaît noter que mon fichier DefaultConfig.xml se trouve dans un répertoire « Resoruces » que j'ai créé dans Visual Studio (c'est optionnel, mais ça m'aide à garder mon projet soigné)

+0

Merci beaucoup! J'ai finalement compris. Pour une raison quelconque, le fichier XML devait également être dans le répertoire de contenu. Une fois que j'ai compris cela, ça a marché. – Seth

Questions connexes