2009-08-31 7 views
2

Je programme actuellement un programme en studio visuel en utilisant le framework .net 3.5 et Microsoft interops pour interagir avec les produits de bureau. J'ai un problème avec le fichier app.config. Chaque fois que je compile ma solution, reconstruit ou construit un avertissement se produit dans la liste des erreurs qui ditConflits trouvés entre les différentes versions du même assemblage dépendant

Trouvé des conflits entre différentes versions du même ensemble dépendant. Lorsque je double-clique sur ce message, visual studio essaye de résoudre le problème, mais avec le suivant, l'avertissement se reproduit. J'ai vérifié dans le fichier app.config ce visual studio tente de résoudre le problème et il semble, qu'il insère ces lignes

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
      <assemblyIdentity name="office" publicKeyToken="71E9BCE111E9429C" culture="neutral"/> 
      <bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0"/> 
     </dependentAssembly> 
     <dependentAssembly> 
      <assemblyIdentity name="Microsoft.Vbe.Interop" publicKeyToken="71E9BCE111E9429C" culture="neutral"/> 
      <bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0"/> 
     </dependentAssembly> 
    </assemblyBinding> 
</runtime> 

je pense que le bindingRedirect échoue à cause des numéros de version, mais je ne peux pas les modifier , à cause du déjà "résoudre le problème - construction - problème se produit" chose.

Est-ce que quelqu'un a une idée de ce qui pourrait mal se passer? Je n'ai aucune idée.

merci pour chaque idée!

+0

Vous devriez activer la sortie verbeuse de MSBuild et voir si vous pouvez trouver les conflits, http://blogs.msdn.com/b/saraford/archive/2008/10/07/did-you-know- vous-pouvez-configurer-le-msbase-verbosity-dans-la-sortie-fenêtre-329.aspx Diagnostics est le plus commun à utiliser lors du dépannage de problèmes comme celui-ci. –

Répondre

0

Jinx. Je suis sur la recherche d'un problème similaire avec les dépendances aux assemblys Office. Dans mon cas, je dois prendre en charge les anciennes versions d'Office que je n'ai pas installées sur ma boîte DEV (mais qui sont installées sur un serveur de build).

J'ai décidé d'essayer le projet open source MS Office Wrapper for .Net que j'ai découvert sur l'un des articles ici. Il prétend supporter toutes les versions d'Office de 97 à 2007 (tant que vous vous limitez aux appels d'API disponibles dans la version la plus ancienne avec laquelle vous devez rester compatible).

Peut-être que l'utilisation de ce wrapper résoudrait/simplifierait votre dépendance à la version Office.

+0

Salut! Merci beaucoup d'avoir mentionné l'emballage. Le problème est que mon programme est déjà terminé. Je ne veux pas réécrire toutes les commandes en utilisant ce wrapper. Mais je vais y jeter un coup d'oeil et peut-être que d'autres versions migreront dessus! Merci quand même!! –

+0

Je suis à peu près dans le même bateau ... le programme est terminé et envisage de refactoriser. J'ai fini par écrire un petit analyseur qui s'exécute sur la machine de compilation qui regarde dans le fichier .csproj pour les références de version et les change pour la version installée sur ce serveur de construction. Si vous n'avez pas de serveur séparé, un PC virtuel fonctionne également très bien. –

Questions connexes