9
votes

Est-il nécessaire que la machine de construction ait installé Microsoft Office 2007?

Notre application a ajouté une fonctionnalité pour permettre aux utilisateurs d'importer certaines informations à partir d'une feuille de calcul Excel (tous les utilisateurs auront déjà Office 2007).

La machine de développement a Office 2007 et le développeur a ajouté une référence à Microsoft.Office.interop.excel - tout était bon.

Cependant, la machine de construction n'a pas d'Office 2007 installé. Lorsque la version est exécutée sur la machine de construction, nous obtenons l'erreur de construction suivante: "Le nom du type ou l'espace de noms" Office "n'existe pas dans l'espace de noms" Microsoft "(manquez-vous une référence d'assemblage?)"

J'ai téléchargé le Assemblages d'interopteurs principaux de bureau 2007 Redistributable . Mais quand j'exécute ce MSI sur la machine de construction, je reçois une distinction de Microsoft Office 2007 avant d'installer ce produit "

est-il vraiment nécessaire d'installer Office 2007 sur la machine de construction? Y a-t-il une autre solution autour de cela?


2 commentaires

Êtes-vous sûr que le microsoft.office.interop.excel est coché avec le code source et le projet VS le référencent de l'arborescence source et non de GAC?


@Davidepiras - C'était la réponse! Une fois que j'ai changé la référence de GAC en arbre source, la construction a fonctionné. Référencez le fichier de votre projet en n'utilisant pas l'onglet .NET, mais naviguez et sélectionnez-les à partir du disque. Si vous ajoutez votre suggestion comme une réponse, je l'accepterai. Merci!


3 Réponses :


-1
votes

Oui, vous devez avoir Excel installé sur toutes les machines que vous souhaitez exécuter votre application.


2 commentaires

Mais je ne veux pas exécuter mon application sur la machine de construction - je veux seulement le construire?


Non, vous n'avez pas à installer Excel - voir Davidepiras Répondre ci-dessus



1
votes

Demandez simplement à votre DVS de vérifier toutes les dépendances DLL. Ceci est un cas clair de "cela fonctionne sur ma machine" où vous devez faire glisser les Devs vers la machine où il ne fonctionne pas et indique que leur documentation manque dans le "département des dépendants". Si vous avez accès au code source ou pouvez exécuter ILSPY sur les assemblages, vous pouvez facilement suivre cela.

Safe Bet est que vous allez simplement installer Excel, mais cela frappe le problème avec un marteau de luge. Vos devs devraient savoir ce qui est vraiment nécessaire .....


0 commentaires

12
votes

Assurez-vous que le Microsoft.Office.Interop.excel est coché avec le code source et le projet VS la référencit à partir de l'arborescence source et non de GAC .

Après cela est fait, vous n'avez sûrement pas besoin d'installer MS Office sur la machine de construction, mais vous en auriez besoin pour que l'application soit exécutée.


0 commentaires