Problème déploiement Click Once
Bonjour,
Sur une de mes applications j'utilise la technologie Clik Once pour déployer mon application.
Pour se faire je déploie mon fichier sur un unc de serveur où va être utiliser mon application.
Tout se passait bien jusqu'ici mais depuis aujourd'hui j'ai un problème que je n'avais jamais rencontré et qui me laisse pantoie :
Lors de l'ouverture par un utilisateur de l'application là où normalement le programme télécharge la dernière version d'office, un message d'erreur apparait :
Citation:
... L'application est incorrectement formatté. Contacter ....
En regardant le détail de l'erreur :
Citation:
il semblerait que le fichier manifest n'est pas valide ou ne peut pas être ouvert.
Je ne me suis pas démonté et suis allé scruter Le fichier xml program.manifest.
En première ligne du fichier on fait référence un espace de nom référencé dans un schéma enrelatif assembly.adaptive.sxd. Schéma qui semble apparemment non présent sur le répertoir de l'unc.
Alors je ne sais pas si mon problème vient de là mais si quelqu'un pourrait m'aider sur le déploiment de mon appli.
Pour info j'utilise le framework 4.0 avec Visual Studio 2008 et mon appli est écrit en c#
Quelques points d'explications
La solution complète est assez volumineuse, j'ai peur de noyer le problème sous un tas de référence qui ne nous intéresse pas dans ce topic.
De plus elle est composée de classe dérivé de la classe form.cs (comme on peut s'y en douter pour une application Windows), je ne sais donc pas comment représenter l'information. je vais essayer de synthétiser tout ça avec des classes qui ne sont pas les miennes mais tanpis
Je ne montre pas tout le programme car je travaille de mémoire et j'avoue que je ne connais pas forcément toute la syntaxe
Le forme principal du premier NameSpace
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
// Autre using
using NameSpaceB
namespace NameSpaceA
{
public partial class FormA : Form
{
OnLoad(object sender, EventArgs e)
{
// Quelques instructions
ClasseB.FonctionUtilisee();
}
}
} |
La classe B employé dans le deuxième NameSpace
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
// Autre using
namespace NameSpaceB
{
// La classe est statique mais on pourrait aussi dans l'exemple prendre
// une classe instanciable
public static class ClasseB
{
// Autres méthodes
public static void FonctionUtilisee()
{
// Instruction de la fonction
}
}
} |
Dans l'explorateur de solution on aurait un truc du type
-SolutionA.sln
- ProjetA.cprj
- Properties
- Settings
- References
- // Quelques références
- NameSpaceB
- FormA.cs
- FormA.Designer.resx.cs
- FormA.resx.cs
- Program.cs
- debug/
- bin/
- ProjetB.cprj
- Properties
- Settings
- References
- // Quelques références
- FormB.cs
- FormB.Designer.resx.cs
- FormB.resx.cs
- ClasseB.cs
- Program.cs
- debug/
- bin/
Vous excuserez ma présentation si elle vous parait incomplète ou partiellement incorrect, je n'ai pas appris le Framework par coeur et je travaille, là, uniquement de mémoire. De plus j'ai voulu m'attarder sur les choses les plus importantes.
Dans le projet B on aurait quelque chose du type :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
// Autre using
namespace NameSpaceB
{
public partial class FormB : Form
{
OnLoad(object sender, EventArgs e)
{
// Quelques instructions
ClasseB.FonctionUtilisee();
}
}
} |
Bien entendu les 2 programmes Program.cs de chaque projet appelle les classes FormA.cs et FormB.cs