Devrais-je déployer des fichiers Interop.x.dll avec une application .NET?

Nous avons une application .NET qui utilise des objects COM dans différentes DLL, également utilisées dans la partie VB6 de notre application. Lors du référencement d’une bibliothèque COM, Visual Studio 2012 crée un fichier Interop.x.DLL et le référence à la place. Devrais-je dissortingbuer Interop.x.DLL à partir de la machine de génération ou le régénérer à l’aide d’un outil de ligne de commande .NET? Quel outil? Quelle est la meilleure pratique pour déployer une application .NET qui référence COM?

Non, ce n’est plus nécessaire depuis VS2010 et .NET 4.0. Vous définissez simplement la propriété Embed Interop Types de la référence d’assembly interop à True. Le réglage par défaut.

Avec cette option, les types d’interopérabilité sont copiés dans votre propre assemblage, comme si vous aviez écrit vous-même les déclarations [ComImport] . Et uniquement ceux que vous utilisez réellement dans votre code. Cette fonctionnalité est particulièrement rentable pour les grands, notamment les assemblages Microsoft.Office.Interop, qui sont très volumineux. Mais bien sûr, toujours aussi pratique pour les petits composants puisque vous n’avez plus à déployer l’assemblage d’interopérabilité.