J'ai une erreur de construction dans un programme Sharp que je compose de Visual Studio 2008 sur un serveur Windows (2008, je suppose) SP 2 64 bits OS. Il est indiqué que 'System.Management.Automation.psObject' est défini dans un assemblage qui n'est pas référencé. J'ai fait des recherches dans MSDN et j'ai constaté que cela semble faire partie du SDK Windows Power Shell. http://msdn.microsoft. com / fr-nous / bibliothèque / system.management.automation.psobject (vs.85) .aspx p>
Le problème est que j'ai déjà le Windows PowerShell. Si tout est tout ce dont j'ai besoin, comment puis-je l'utiliser ou y référence dans l'IDE c Sharp. Si j'ai besoin de télécharger quelque chose de plus (c'est-à-dire le SDK), où dois-je le faire et l'installer? Je n'ai rien trouvé en ligne. P>
3 Réponses :
regarder dans c: \ filtrages de programme \ assemblages de référence \ Microsoft \ windowspowershell \ v1.0 code> pour system.management.automation.dll et s'il existe, ajoutez-le comme une référence dans votre projet C # . Si cela n'existe pas, alors téléchargez le Windows SDK qui mettra le fichier dans l'emplacement ci-dessus. P>
Obtenez-le de Nuget à la place.
Si vous ne pouvez pas le trouver là-bas, tapez ceci à une invite PowerShell.
Merci! Vraiment aidé depuis la version X86 n'a pas vraiment fonctionné: p
Si vous utilisez VS2015, cela copiera la version 6 ... au lieu de 3 sur le bureau. La partie dont j'en avais besoin, requise 3.
@ Deaslow Assez sûr que cela dépend de la version de PowerShell que vous utilisez plutôt que la version de vs.
Pour référencer correctement PowerShell, vous devez faire référence au PowerShell à l'intérieur du GAC. Le PowerShell inclus avec la Vista SDK est PowerShell V1.0, et cette technique fera référence à 1.0, 2.0 ou X.0, tout ce qui est installé. Référencement de l'assembly SDK ne créera pas non plus le plus portable de projets, car vous devez installer le SDK pour construire le projet, plutôt que simplement que Visual Studio et Windows.
Malheureusement, référencer les articles GAC n'est pas quelque chose que le Studio Visual Studio n'est pas. Est-ce que proprement, vous devez donc utiliser la main éditez le fichier CSPROJ. Trouvez la section avec des éléments et ajoutez cet élément de référence. P>
<Reference Include="System.Management.Automation" />
HMM, c'est comprendre que le GAC est pour l'accès à l'exécution des assemblages et que pour la compilation, vous devez mettre vos assemblages dans un autre endroit pouvant être facilement référencé à partir de Visual Studio E.G. "$ env: programmes de programmation \ assemblages de référence".
Cela ne compte vraiment pas lequel vous faites référence. Le nom fort correspondra et la stratégie d'éditeur sera redirigation de l'assemblée correcte de GAC, peu importe où vous l'avez référencée. Celui de GAC est juste un dernier moyen de faire référence à une assemblée à jour. Avec SharePoint, par exemple, c'est le seul moyen d'extraire les assemblages d'un système d'exploitation client pour construire contre.
Eh bien, c'était le cas que vous avez référencé dans un endroit qui est également fourni avec un fichier de commentaire XML DOC proposant des informations supplémentaires IntelliSense. Je ne sais pas si c'est toujours le cas aujourd'hui.