Question

Le problème que nous vivons a été remarqué dans msbuild. Nous avons un fichier exécutable dans une tâche qui est de lancer une FileNotFoundException. Cette LoadData.exe utilise NHibernate pour initialiser les données, donc il y a un fichier NHibernate.config à la racine du projet.

Les propriétés de la configuration sont définies au contenu / Copie toujours. Je peux confirmer que, sur la construction, ce fichier de configuration est copié dans le répertoire de sortie.

Dans une fenêtre de la console, vous pouvez lancer cet exécutable à partir du répertoire bin / debug, et il fonctionnera sans erreur. A partir de l'extérieur de ce répertoire, vous obtenez un FileNotFoundException sur le fichier de configuration.

L'erreur indique que le NHibernate.config est en cours de chargement par rapport à l'endroit où nous exécutons MSBUILD dans le répertoire BUILD, et non le répertoire LoadData.exe. Pourquoi donc? On ne peut pas faire absolue à l'exe?

Y at-il un cadre BuildAction pour cela?

Était-ce utile?

La solution

Modifier votre code pour charger le fichier depuis l'emplacement de votre assemblée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top