Une erreur comme quoi "La signature de la version de mise à jour de 'NuGet Package Manager' ne correspond pas à la signature de la version installée" peut se produire lorsque vous essayez de mettre à jour votre version de NuGet depuis Microsoft Visual Studio. Si vous obtenez l'erreur suivante, ne paniquez pas. Vérification des signatures des extensions correspondantes avant la mise à jour... Chemin d'accès des extensions installées : C:Program Files (x86)Microsoft Visual Studio 10.0Common7IDEExtensionsMicrosoft CorporationNuGet Package Manager1.2.20325.9034 Chemin d'accès des extensions de mise à jour : c:users omainappdatalocal emp uget.tools-1.vsix 24/02/2012 14:20:43 - VSIXInstaller.SignatureMismatchException: La signature de la version de mise à jour de 'NuGet Package Manager' ne correspond pas à la signature de la version installée. Par conséquent, le Gestionnaire d'extensions ne peut pas installer la mise à jour. à VSIXInstaller.Common.VerifyMatchingExtensionSignatures(IInstalledExtension installedExtension, IInstallableExtension updateExtension) à VSIXInstaller.InstallProgressPage.BeginInstallVSIX(SupportedVSSKU targetAppID) 24/02/2012 14:20:43 - Erreur d'installation : VSIXInstaller.SignatureMismatchException: La signature de la version de mise à jour de 'NuGet Package Manager' ne correspond pas à la signature de la version installée. Par conséquent, le Gestionnaire d'extensions ne peut pas installer la mise à jour. à VSIXInstaller.Common.VerifyMatchingExtensionSignatures(IInstalledExtension installedExtension, IInstallableExtension updateExtension) à VSIXInstaller.InstallProgressPage.BeginInstallVSIX(SupportedVSSKU targetAppID)
La meilleure solution est de lancer votre Visual Studio en mode administrateur et de désinstaller votre version actuelle de NuGet depuis le "Gestionnaire d'extensions" (menu Outils). Téléchargez ensuite la dernière version du gestionnaire de package NuGet (celle que vous vouliez mettre à jour) et installez là. Vous ne devriez plus rencontrer cette erreur.
Transmis par zmaster le Jeudi 22 janvier 2015 à 21:24:01 (31348 lectures) (commentaires ? | Score: 2.71)
Pour cloner un objet en C#, il est recommandé d'implémenter l'interface ICloneable. On peut ensuite appeler la méthode Clone() sur l'objet implémentant la classe ICloneable.
Cependant il n'est pas toujours possible d'implémenter l'interface ICloneable si la classe de l'objet à copier ne nous appartient pas. La plupart des bibliothèques externes proposent des méthodes Clone quand cela est nécessaire mais ce n'est pas toujours le cas.
Lorsque vous n'avez pas accès à la classe de l'objet à copier, il reste une solution, copier l'objet en utilisant la serialization binaire. Ce type de clonage fait une copie bit par bit de l'objet cible. Les références pointeront donc vers les mêmes objets que l'objet initial et seuls les types valeurs seront réellement clonés. Ce type de copie ne peut donc pas être utilisé dans tous les cas et il faut bien comprendre les impacts avant de l'utiliser.
Voici le code d'un serializer permettant d'effectuer une copie binaire d'un objet même s'il ne possède pas de fonction Clone.
Transmis par zmaster le Vendredi 28 septembre 2012 à 23:30:09 (188032 lectures) (Suite... | 7786 octets de plus | 32 commentaires | Score: 3.29)
Après avoir installé Windows Seven 64bits, j'ai décidé de réinstaller Microsoft Visual Studio 2008 sur mon PC 64 bits, je me suis retrouvé avec les configurations de base et je ne pouvais plus éditer mon code C# en mode Debug.
Lorsque j'essayais de modifier le code, j'obtenais le message suivant : "Les modifications des plateformes 64 bits ne sont pas autorisées."
Pour résoudre ce problème et de nouveau pouvoir modifier son code C# durant le Debug, il faut modifier la plateforme cible et la passer de "Any CPU" à "x86" lorsque vous voulez débuger votre code source. Le changement de configuration est simple et peut se faire à partie de la comboBox à droite de "Debug".
Ce changement de configuration n'est utile que pour le mode Debug, vous pouvez ensuite configurer votre plateforme cible en Any CPU lorsque vous compilez une Release.
Si vous tombez sur l'erreur suivante en lançant un projet C# dans Visual Studio, c'est que vous avez du créer votre projet avec la version 4.0 du framework .NET.
Erreur anglaise : "The primary reference "Microsoft.CSharp", which is a framework assembly, could not be resolved in the currently targeted framework. ".NETFramework,Version=v3.5". To resolve this problem, either remove the reference "Microsoft.CSharp" or retarget your application to a framework version which contains "Microsoft.CSharp"
Erreur française : "Impossible de résoudre la référence primaire "Microsoft.CSharp", qui est un assembly framework, dans le framework actuellement ciblé. ".NETFramework,Version=v3.5". Pour résoudre ce problème, supprimez la référence "Microsoft.CSharp" ou reciblez votre application vers une version de framework qui contient "Microsoft.CSharp".
Cette erreur provient du fait que la plupart des templates de projets de Visual Studio 2010 (avec le framework .NET 4) inclus automatiquement une référence à l'assembly "Microsoft.CSharp". Il suffit donc de supprimer la référence, ce qui n'aura normalement aucune incidence sur le comportement de votre projet si vous n'utilisez pas les fonctionnalités liées.
Si vous essayez d'ouvrir un projet crée sous Microsoft Visual Studio 2008 ou 2010 avec une version plus ancienne de Visual Studio, vous avez peut être déjà rencontré le message d'erreur suivant au lancement de Visual Studio : "Le projet importé "C:Microsoft.CSharp.targets" n'a pas été trouvé" (orignal : The imported project "C:Microsoft.CSharp.targets" was not found).
Pour résoudre ce problème, ouvrez le fichier .csproj de votre projet avec le bloc-note Windows (ou notepad++) et retrouvez la ligne suivante :
Faire un cast d'un entier (int) ou d'une chaine de caractères (string) vers un Enum C# est très facile. Les énumérations sont très utiles en C# mais il n'est pas toujours possible de conserver le type Enum et l'on n'est parfois obligé de passer par un int puisque les valeurs d'une énumération sont associées à des int.
Transmis par zmaster le Lundi 19 septembre 2011 à 19:24:40 (13007 lectures) (Suite... | 1547 octets de plus | 13 commentaires | Score: 0)
WPF (Windows Presentation Foundation) propose une palette de couleurs identique à celle du framework .NET de Microsoft, des Windows Forms et de Microsoft Internet Explorer.
Voici une liste de couleurs prédéfinies associant un nom et une valeur hexadécimale.
Cette palette des couleurs est très utile lors de la création d'interface en WPF et permet d'éviter d'avoir à tester chaque couleur une à une.
Transmis par zmaster le Dimanche 18 septembre 2011 à 16:51:07 (42632 lectures) (Suite... | 727 octets de plus | 16 commentaires | Score: 4.30)
Trier un dictionnaire par valeur peut être utile en C# si on n'a un dictionary de clés et de valeurs. Par exemple : la clé peut être un mot (string) et la valeur un entier (int) représentant la fréquence d'apparition de ce mot dans un texte. La collection Dictionnary peut facilement être triée par clés mais le tri par valeur est un peu plus compliqué.
Transmis par zmaster le Lundi 02 mai 2011 à 01:58:03 (14265 lectures) (Suite... | 6268 octets de plus | 10 commentaires | Score: 5)