web-dev-qa-db-fra.com

Impossible de trouver System.Windows Assembly

C'est l'erreur que nous obtenons:

Erreur 1 Le type 'System.Windows.Point' est défini dans un assembly qui n'est pas référencé. Vous devez ajouter une référence à Assembly 'System.Windows, Version = 2.0.5.0, Culture = neutre, PublicKeyToken = 7cec85d7bea7798e'. C:\PacMan\PacMan\PacMan\PacManTests\UnitTest1.cs 65 13 PacManTests

Nous rencontrons cette erreur dans notre projet de test unitaire qui ne trouve pas l'assembly System.Windows, mais notre projet principal peut trouver l'assembly et l'exécuter correctement.

Quelqu'un a-t-il des idées ou des conseils sur où et comment référencer System.Windows pour résoudre ce problème?

33
Student

Dans mon cas, il n'y avait pas de référence System.Windows à récupérer.
Je devais inclure une référence à WindowsBase

42
Mehdi LAMRANI

Ajoutez la référence d'assembly comme vous ajouteriez n'importe quelle autre référence de framework:

  • Faites un clic droit sur le projet
  • Sélectionnez "Ajouter une référence"
  • Sélectionnez l'onglet .NET sur la gauche et recherchez "System.Windows" dans la liste des assemblys.
  • Double-cliquez sur "System.Windows" et la référence Assembly sera ajoutée.
20
Jon Skeet

Ajouter System.Windows Référence d'assemblage:

  • Faites un clic droit sur le projet 
  • Sélectionnez "Ajouter une référence" 
  • Sélectionnez l'onglet .NET sur la gauche et recherchez "System.Windows" dans la liste des assemblys.
  • Double-cliquez sur "System.Windows" pour l'ajouter. 

Si cela ne résout pas le problème, essayez d'ajouter les assemblys PresentationFramework, PresentationCore et WindowsBase (.NET 3.5).

6
cMinor

Nous avons trouvé que nous devions aller dans le dossier Silverlight et que nous avons trouvé le fichier System.Windows.dll. Maintenant, tout va bien, merci pour l'aide!

5
Student

Je l'ai déjà eu sur une machine avec VS 2010 une fois auparavant. Pour une raison quelconque, l'assembly System.Windows n'a pas été trouvé dans l'onglet .NET sur Ajouter une référence fenêtre. Très étrange.

Dans ce cas, vous devrez simplement aller dans l'onglet Parcourir et naviguer jusqu'à: 

C:\Windows\Microsoft.NET\Assembly\GAC_MSIL\System.Windows \

Une fois là-bas, sélectionnez le sous-dossier de version approprié (qui devrait ressembler à ... v4.0_4.0.0.0__b03f5f7f11d50a3a), puis choisissez le fichier System.Windows.dll.

4
Derek W

J'ai trouvé le nécessaire WindowsBase.dll in

C:\Program Files\Assemblys de référence\Microsoft\Framework\v3.0

3
Andrew

Faites un clic droit sur votre dossier "Références" et cliquez sur "Ajouter une référence" puis sélectionnez System.Windows sous l'onglet .NET.

3
Nick Berardi

eh bien, c’était en fait system.windows.presentation dans mon application wpf ...

2
Mike Graham

Si vous utilisez .NET Framework 2.0, référencez 

System.Windows.Forms

(et en utilisant l’espace de noms avec le même nom) fera le travail aussi

2
Jan

J'ai eu le même problème, mais il a été causé par l'utilisation d'une bibliothèque de classes Portable et ne s'est produit que sur certaines installations de PC.

J'ai trouvé le problème résolu sur ces installations avec:

http://www.Microsoft.com/en-us/download/details.aspx?id=3556

Comme ce correctif est inclus dans VS2010 et Windows Update, il ne survient que sur certains PC.

2
Mister Cook

Ajoutez les mêmes références dans votre projet de test que vous voyez en tant que références dans le projet que vous testez.

J'ai eu quelque chose comme ça et ajouté:

PresentationCore PresentationFramework WindowsBase

Maintenant, il semble rester silencieux.

2
JaJa

Si vous n'avez pas System.Windows dans vos références .NET, essayez WindowsBase. Cela a corrigé ma référence à System.Windows.Point dans VS 2008.

2
dmertl

Vous devez ajouter la référence au projet. Si vous utilisez Visual Studio, cliquez avec le bouton droit sur le projet dans l'explorateur de solutions, puis choisissez Ajouter une référence ...

1
lc.

Vous rencontrerez également cette erreur si vous utilisez Outils de la bibliothèque portable car elle n’est pas prise en charge. 

1
Echilon

Essayez d’ajouter PresentationCore.dll Vous pourrez ensuite utiliser l’espace de noms System.Windows.

0
miciry89