Pourquoi la propriété Copy Local pour ma référence est-elle désactivée?

J’essaie de définir une DLL référencée pour qu’elle soit explicitement copiée dans mon dossier local. Cependant, lorsque j’accède aux propriétés de cette référence, la propriété Copy Local est grisée / désactivée.

Désactivé Copier la propriété locale

Habituellement, mes projets VB.NET ont un élément My Project directement sous le nom du projet, sur lequel je peux double-cliquer >> références et définir la propriété Copy Local . Cependant, mon application console C # ne semble pas l’avoir.

Mon projet Références

Ai-je peut-être configuré mon projet de manière incorrecte? Toute aide à ce sujet sera grandement appréciée.

Directement à partir de ce post SO:

Votre commentaire sur la réponse de Hans indique qu’il s’agit d’un assembly COM et que vous utilisez Visual Studio 2010.

Cela signifie que la référence de l’assembly a probablement été ajoutée avec le paramètre “Embed Interop Types” défini sur true. Cela a pour effet de lier l’assemblage COM à votre fichier binary en supprimant le besoin de le déployer complètement. Le lien suivant a une explication plus détaillée • http://msdn.microsoft.com/en-us/library/dd409610.aspx Si vous souhaitez le déployer, vous devrez effectuer les opérations suivantes: • Cliquez sur la référence dans le fichier. onglet références • Appuyez sur F4 pour faire apparaître la grid de propriétés. • Définissez “Incorporer les types d’interopérabilité” sur False (cela désagrégera la copie locale). • Définissez “Copier le local” sur true.

Si vous souhaitez copier en local, vous devez définir Embed Interop Types sur False pour l’assembly, dans votre cas, Microsoft.Office.Interop.Excel . Intégrer les types d’interopérabilité facilite le déploiement pour les assemblys COM dans la mesure où il incorpore les assemblys au sein de votre assembly, évitant de déployer des assemblages d’interopérabilité avec l’application.