Je crée une classe LLibrary dans C # à l'aide de Microsoft fourni dll. p>
Maintenant, je veux ajouter statiquement ces bibliothèques Microsoft fournies à ma DLL.Comment puis-je faire cela. J'ai simplement ajouté une référence à ces DLL Microsoft fournis et crée ma DLL? Est-ce bien ou pas? P>
Si Microsoft fourni DLL n'est pas disponible sur une autre machine, ma DLL peut échouer, je dois ajouter les bibliothèques statiquement ?? p>
Comment puis-je faire cela ?? p>
4 Réponses :
Il n'y a pas de liens de manière statique à une autre assemblée dans .NET. Il existe des produits tiers tels que .NET Linker qui fusionnent des assemblages en un mais ils sont non pris en charge. < / p>
Si vous avez la licence de redistribution pour cette bibliothèque, vous pouvez expédier une copie avec votre assemblée. Dans Visual Studio, vous pouvez y arriver en définissant "Copier local" sur "True" dans la fenêtre Propriétés pour cette référence d'assemblage. P>
Si la DLL n'est pas disponible au moment de l'exécution; Oui, ça échouera. Cependant: p>
Il n'y a pas de lieur fourni dans le cadre de base, bien que Ilmmerge peut être utile. P>
Ce n'est pas très clair ce que vous voulez réaliser, mais il semble que votre classe LIB fonctionne sur une autre machine ou non. La chose est que le .NET Framework est une redistribuabilité gratuite qui doit être installée s'il n'est pas présent sur la machine cible. Avec la structure .NET déjà installée sur une machine, il ne devrait y avoir aucun problème comme tel. P>
La liaison statique en tant que telle n'a pas de sens à d'autres autres que l'ajout d'une référence d'assemblage à votre projet. J'espère que cela aide p>
Lorsque vous liez statiquement une DLL en C ++, il combine l'EXE et la DLL dans un fichier qui facilite la distribution et la capacité de fonctionner dans des environnements limités.
Voir la discussion ici et lire les commentaires - Jeff fournit un moyen. P>
Qu'essayez-vous d'accomplir cela?