2011-07-28 7 views
1

J'ai quelques fichiers de ressources (.resx) dans une DLL.compiler mes fichiers resx depuis l'extérieur de mon studio visuel

cette dll est référencé à partir de mon site, et crée une compilation dll « admin.UserControlResource.dll » dans mon \ bin \ dossier de la langue de mon « UserControlResource.de.resx »

maintenant j'ai une nouvelle ressource fichiers (le fichier texte .resx), et je veux les compiler dans une nouvelle DLL, en dehors de mon projet, donc je vais pouvoir copier ces dll sur mon serveur de production.

J'ai essayé resgen.exe, mais cela ne me permet pas de spécifier l'extension .dll pour le fichier généré.

J'ai essayé une autre extension et je l'ai renommée en .dll, mais cela n'a pas fonctionné.

ce que j'ai essayé:

resgen UserControlResource.de.resx 
    al.exe /t:lib /culture:de /embed:"UserControlResource.de.resources" /out:"Dwight.UserControl.resources.dll" 

je l'ai vu (dans les exemples) al.exe été exécutés avec et sans/t: lib, mais les deux ne fonctionnent pas.

qu'est-ce que je veux dire par 'ne travaillez pas'?

resgen crée un fichier .resources

al.exe crée une dll et ne montre aucun avertissement

mais quand je copie le dll au serveur les ressources par défaut en anglais sont utilisées, et non l'allemand (de) les uns.

Répondre

2

On dirait que vous voulez créer des assemblages satellites et déployer ces assemblages satellites. Theres une bonne explication du processus et ce que vous devez considérer sur MSDN: http://msdn.microsoft.com/en-us/library/sb6a8618%28v=vs.80%29.aspx

Hope that helps :)

+1

J'ai utilisé resgen pour créer un fichier .resources à partir du fichier .resx, et al.exe pour créer une ressource dll à partir du fichier .resources, mais pas de chance – Michel

+0

Salut Michel, pouvez-vous expliquer ce qui s'est passé, je ne suis pas sûr ce que vous voulez dire par "pas de chance". Est-ce que resgen a fait ce que vous attendiez, qu'est-ce que al.exe a produit par exemple? – eslsys

+0

bon point, 'pas de chance' n'est pas si significatif .... je vais éditer la question et montrer ce que j'ai fait. – Michel

0

J'ai trouvé une séquence de resgen.exe et al.exe commandes qui ont travaillé pour moi:

Resgen.exe:

"C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\ResGen.exe" Strings.resx 

sortie:

Read in 10 resources from "Strings.resx" 
Writing resource file... Done. 

Al.exe:

"C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\al.exe" /t:lib /embed:Strings.resources /culture:en /out:Strings.dll 

Sortie:

Microsoft (R) Assembly Linker Version 12.0.20806.33440 
Copyright (C) Microsoft Corporation. All rights reserved. 

La sortie de c'est une dll qui peut être inclus dans la version publiée sans l'aide de Visual Studio.