2010-06-04 6 views
2

Pour télécharger et installer .NET/dll, tout ce dont j'ai besoin est de copier la DLL dans un répertoire spécifique, et de le faire savoir au .NET. Est-ce correct?Installation des bibliothèques DLL .NET questions

J'utilise le mode mono, donc avec le mode mono, j'ai défini MONO_PATH pour inclure le répertoire. Et, ça a l'air OK.

Voici mes questions.

  1. Avec certaines bibliothèques, non seulement le fichier dll, mais aussi le fichier xml est fourni. Par exemple, j'ai téléchargé pour System.Data.SQLite, et j'ai System.Data.SQLite.dll/xml. Quel est le but de ce fichier xml? Dois-je aussi copier ce fichier?
  2. Pour le système Windows, la DLL .net est juste comme l'autre DLL en termes d'appel de cette DLL. Est-ce correct? Je veux dire, je peux juste copier la DLL dans un répertoire, et en faisant le répertoire dans le cadre de l'environnement PATH activer le .NET trouver la DLL.

Répondre

2
  1. Le XML est pour l'IntelliSense IDE (comme d'autres l'ont dit). Ce n'est pas nécessaire.
  2. La possibilité de localiser une DLL en définissant une variable de chemin d'accès fonctionne uniquement pour le code natif sur les systèmes Windows. Pour le code géré/.net, les règles de .net fusion sont suivies. Un peu simplifié, la DLL managée doit être l'une des suivantes: (a) dans le même répertoire que l'exécutable, (b) avec un nom fort et dans un emplacement accessible par un attribut app.config codebase, ou (c) dans le GAC.
1
  1. Le fichier XML est utilisé par votre IDE pour fournir la documentation Intellisense.
  2. Sous Windows, la copie d'un assembly .NET dans un dossier sur le chemin ne semble pas permettre à l'exécutable de trouver la DLL.
+0

Vraiment? Je pensais qu'il a utilisé la réflexion pour construire l'Intellisense? – Nate

+0

@Nate: Il peut y avoir * une option de compilation pour inclure cette information dans l'assembly ... Mais j'ai dû reconstruire des assemblages à partir de la source, générant intentionnellement de la documentation XML, pour que Intellisense fonctionne avec les assemblys que j'ai téléchargé, à plus d'une occasion. –

+0

Sans le fichier XML, vous devriez obtenir le code, mais pas de document. –

1

Pour répondre à vos deux questions:

  1. Vous n'avez pas besoin du fichier XML - il est utilisé seulement pour IntelliSense.
  2. Oui, l'emplacement dll suit les mêmes règles que toute autre DLL .NET. Il doit être dans le dossier de l'application (ou dans le dossier bin pour les applications/services Web) ou installé dans le GAC.
Questions connexes