2017-09-30 3 views
0

J'ai une application wpf simple qui contient une fenêtre avec une visionneuse de document que j'utilise pour montrer un document XPS, j'ai écrit ceci et cela a fonctionné.Comment ajuster le chemin du document XPS pour wpf Application pour travailler sur un autre PC?

XpsDocument myDoc = new XpsDocument(@"C:\Users\Ahmad 
Elsayed\Desktop\testxpsdoc\xpsTest\xpsTest\Assets\Dokhna - Problems - 
Report.xps", FileAccess.Read); 

DV.Document = myDoc.GetFixedDocumentSequence(); 

le problème est cependant que lorsque je publie l'application et utiliser sur un autre PC, je reçois ceci:

System.IO.DirectoryNotFoundException: Impossible de trouver une partie du chemin

J'ai essayé d'utiliser le chemin relatif comme celui-ci:

XpsDocument myDoc = new XpsDocument(@"\Assets\Dokhna - Problems - Report.xps", FileAccess.Read); 

mais toujours la même chose, étant donné que je définis l'action construite sur Content et que je la copie si elle est plus récente dans le fichier xps.

aussi c'est l'explorateur de solution: Solution Explorer

Répondre

0

Vous devriez obtenir le répertoire de base pour votre application en cours d'exécution que vous pouvez ajouter au chemin relatif au fichier XPS. Cela devrait fonctionner même si vous déployez l'application tant que vous avez le fichier XPS dans un dossier Assets à côté de l'exécutable.

string xpsFilePath = Path.Combine(
    AppDomain.CurrentDomain.BaseDirectory, 
    @"Assets\Dokhna - Problems - Report.xps"); 

XpsDocument myDoc = new XpsDocument(xpsFilePath, FileAccess.Read);