2011-09-19 8 views
1

J'écris une application dans .Net 3.5.C# dll introuvable lors de la compilation

J'ai jusqu'à présent 3 projets dans la solution. Lorsque j'ajoute les références aux autres projets de mon projet principal, l'intellisense parvient à trouver les classes des dlls de l'autre projet, mais au moment de la compilation, il semble que la référence soit "perdue".

Cela peut être parce que j'ai initialement créé le projet avec la structure cible .Net 4.0. Cependant, comme je devais utiliser les services Web ASP.NET, j'ai dû rétrograder à 3.5.

Toute aide sera grandement appréciée.

+0

Avez-vous une erreur de compilation lors de la compilation? Si oui, merci de le publier. Ou obtenez-vous une erreur d'exécution? Avez-vous rétrogradé tous vos projets vers .NET 3.5? – Jan

+0

oui j'obtiens une erreur de compilation. L'erreur indique que "MyClass est introuvable", c'est-à-dire la même erreur que lorsque vous oubliez d'ajouter la référence à votre projet. – Jonny

Répondre

0

Les projets referrenced doivent être une copie locale: True référenceVoitures -> Properites -> Copie locale: True

+0

La copie locale est requise lorsque vous déployez un assembly dans lequel la DLL n'est pas déjà disponible. Je ne pense pas que ce soit le problème. –

+0

Merci pour la réponse rapide. Cependant, je ne sais pas où trouver l'option Copy Local – Jonny

+0

Il suffit d'ouvrir la section "Références" de votre projet, cliquez sur ladite référence et dans la grille des propriétés, réglez "Copy Local" sur true. – SuperOli

0

lot propre de tous les projets dans votre solution, assurez-vous que tous les projets de votre graphe de dépendance cible le .NET 3.5 cadre. Vérifiez HintPath de la référence dans votre fichier .csproj (ouvert avec l'éditeur de texte) pour les références aux DLL externes et assurez-vous qu'ils sont tous < = 3.5.

Cependant, comme je devais utiliser les services Web ASP.NET, j'ai dû rétrograder à 3.5.

Il existe également plusieurs projets de service Web différents dans .NET 4. Je ne comprends pas très bien ce mouvement.

+0

Si je définis le framework cible sur .Net 4.0 visual studio masquera les services Web asp.net. Au lieu de cela, seuls les services WCF sont visibles. BTW tous mes projets où nettoyé et leur cadre cible fixé à 3,5 – Jonny

0

Vous avez des références de projet, intellisense voit vos classes référencées mais lors de la compilation, le compilateur ne semble pas trouver les assemblys référencés.

Je vois deux raisons possibles de ce comportement:

  1. Votre projet principal fait référence à une version inférieure du framework .NET que vos projets de bibliothèque (ce qui est la cause la plus probable).
  2. Vos projets de bibliothèque ne seront pas construits du tout ou dans le mauvais ordre (vérifiez les paramètres dans le gestionnaire de configuration Ouvrez-le avec un clic droit sur votre solution dans l'explorateur de requêtes).
+0

Point 1 .: Non, tous les projets '.Net Framework est 3,5 Point 2: Essayé de les compiler 1 à la fois dans la bonne séquence, problème toujours là :/ – Jonny

+0

Compilez-vous tous les projets avec les mêmes paramètres de configuration/plateforme? – Jan

Questions connexes