« Fichier non trouvé » en essayant de compiler un fichier RC (erreur probablement stupide)
-
09-10-2019 - |
Question
ces étapes pour ajouter un manifeste à mon contrôle de compte C # projet intégré comme une ressource.
Étape 1 fonctionne très bien, je crée le fichier RC dans mon projet comme un simple fichier texte tel que décrit.
#include <winuser.h>
#define IDR_MANIFEST 1 // 2 for a DLL
IDR_MANIFEST RT_MANIFEST MOVEABLE PURE
{
"<assembly xmlns=""urn:schemas-microsoft-com:asm.v1"" manifestVersion=""1.0"">
<asmv3:trustInfo xmlns:asmv3=""urn:schemas-microsoft-com:asm.v3"">
<asmv3:security>
<asmv3:requestedPrivileges>
<asmv3:requestedExecutionLevel
level=""asInvoker""
uiAccess=""false"" />
</asmv3:requestedPrivileges>
</asmv3:security>
</asmv3:trustInfo>
</assembly>"
}
Ensuite, en utilisant la commande Visual Studio rapide, je reçois la sortie suivante à l'étape 2:
c:\myproject>rc MyResourceFile.rc
Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.1
Copyright (C) Microsoft Corporation. All rights reserved.
ConfigurationManager.rc(4) : error RC2135 : file not found: 1
Je suppose que cela est quelque chose de très stupide, non?
La solution
Non repro, je ne vois pas mal de quoi que ce soit. Le compilateur C # intègre déjà un manifeste dans le contrôle de compte assemblée depuis VS2008 (éventuellement VS2005 SP1 pour Vista). Si vous souhaitez modifier puis utiliser Project + Ajouter un nouvel élément et sélectionnez le modèle d'élément « Fichier manifeste de l'application ».
Autres conseils
Comme Hans dit Passant, en commençant par VS 2008, vous pouvez simplement ajouter directement le fichier manifeste au projet. Puis, sous les propriétés du projet, sélectionnez l'onglet « application » et choisissez le fichier manifeste de la zone de liste déroulante « Manifest ».
Je fini par utiliser mt.exe pour intégrer le manifeste dans le fichier .exe dans une étape de post-construction. Mais la réponse de Hans était assez proche. Donc je suppose que le mystère du « Fichier introuvable » restera sans solution ...
Essayez d'utiliser
inclure "winuser.h"
au lieu de
include
i.e.. remplacer '<>' avec double qoutes.
Assurez-vous que le fichier rc est UTF-8 codé. J'ai essayé de compiler un ANSI ou UTF-8 fichier encodé de nomenclature et je recevais ce message d'erreur.