12
votes

Comment avoir différentes solutions se référer à un fichier RESX?

J'ai un fichier RESX et je souhaite l'utiliser à partir de plusieurs solutions \ projets, et je ne veux pas avoir une copie locale à chaque solution (uniquement au moment de la compilation apporter une copie).

Y a-t-il un moyen de le faire? Parce que lorsque je l'ajoutez comme "Ajouter un fichier existant", cela me copie une copie localement.

Une idée de la façon de le faire?


0 commentaires

7 Réponses :


2
votes

Je n'ai pas vraiment essayé cela avec des fichiers RESX, mais vous pouvez essayer Ajout de lien .


0 commentaires

8
votes

Visual Studio vous permet également de Lien vers des fichiers au lieu de les copier. La fonctionnalité est un peu cachée, mais vous pouvez y accéder comme ceci:

  1. Choisissez "Ajouter un fichier existant"
  2. Après avoir sélectionné le fichier, do pas double-cliquez, mais notez plutôt la petite flèche déroulante à côté du bouton "Ouvrir".
  3. Sélectionnez "Link Fichier" dans le menu déroulant.

0 commentaires

-2
votes

Dans Visual Studio, vous avez la possibilité d'exécuter un script avant la compilation, copier le fichier là-bas.


0 commentaires

16
votes

Si vous utilisez un fichier .resx, vous souhaitez probablement tirer parti de la fonctionnalité de code générée automatiquement que Visual Studio fournit des fichiers .resx. Si vous incluez un fichier .resx dans plusieurs projets, vous souhaiterez peut-être que chaque projet génère automatiquement son propre code. Vous pouvez le faire, car vous souhaitez utiliser un générateur de code différent pour certains projets (RESXCODFILEGenerator vs. GlobalResourceProxyGenerator) ou vous pourriez simplement vouloir que l'espace de noms du code généré soit aligné sur le projet. Voici comment vous pouvez définir cela.

J'ai configuré une nouvelle solution avec un projet d'application C # Console appelé ShareDresx. J'ai également ajouté un projet de bibliothèque de classe C # à la solution appelée ressources, et dans ce projet, j'ai ajouté un nouveau fichier de ressources nommé mysharedresource.resx. Visual Studio crée automatiquement un fichier mysharedresource.designer.cs dans mon projet de ressources avec le code à l'intérieur de l'espace de noms de ressources. P>

Premièrement, incluez votre fichier .resx existant dans le projet d'application de la console Sharedresx en tant que lien, comme autres réponses ont mentionné. Ajouter un élément existant -> Rechercher .. \ Ressources \ mysharedresource.resx -> Utilisez la liste déroulante du bouton Ajouter pour sélectionner "Ajouter en tant que lien". P>

Suivant, vous devrez modifier manuellement le Fichier de projet pour configurer la génération automatique. Vous pouvez consulter les ressources.csproj pour voir comment la génération automatique est configurée en tant que guide pour la façon dont il devrait regarder dans Sharedresx.csproj. Cliquez avec le bouton droit sur le projet Sharedresx et sélectionnez Projet de déchargement. Cliquez avec le bouton droit de la souris et sélectionnez Modifier ShareDresx.Csproj. Faites défiler vers le bas pour trouver l'élément incorporéResource qui correspond à votre fichier .resx lié: p> xxx pré>

modifiez ceci pour inclure un élément de générateur et un élément de Générateur: P>

<EmbeddedResource Include="..\Resources\MySharedResource.resx">
  <Link>MySharedResource.resx</Link>
  <Generator>ResXFileCodeGenerator</Generator>
  <LastGenOutput>SharedResx.MySharedResource.Designer.cs</LastGenOutput>
</EmbeddedResource>


1 commentaires

L'apprenti de M. Wily: exactement ce dont j'avais besoin



0
votes

Je ne sais pas pourquoi, mais "Ajouter en tant que lien" ne fonctionne pas comme prévu pour moi, il tente toujours de copier le fichier dans le dossier de projet (pas bien si vous utilisez l'intégration Subversion Ankhsvn). ici j'ai écrit un Guide pas à pas avec une approche similaire à l'apprenti du Dr. Wily, mais avec certaines améliorations, comme le partage réel des ressources d'exécution des ressources.


0 commentaires

0
votes

Un problème des personnes manquantes est que lorsque vous cliquez sur le bouton Ajouter un bouton pour sélectionner le fichier à ajouter au fichier .resx, vous n'avez pas l'option "Ajouter en tant que lien". L'astuce consiste à ajouter le fichier (celui qui est une ressource pour votre projet) d'abord en tant que lien vers votre projet et en vous assurant que le fichier lié est situé dans un dossier nommé «ressources» qui vit sous le dossier où votre .resx Le fichier vivra. Ensuite, sur votre fichier .resx, choisissez Ajouter un fichier existant et localiser le fichier que vous avez initialement lié. Maintenant, car Visual Studio verra que le fichier que vous connectez est déjà un lien dans votre projet, il utilisera le lien lorsque vous Construisez votre projet. (Nous avons accompli de cette façon en arrière ~ 2005 à l'aide de Visual Studio et j'ai été en mesure de revoir aujourd'hui à l'aide de VS2019.


0 commentaires

0
votes

Un problème des personnes manquantes est que lorsque vous cliquez sur le bouton Ajouter un bouton pour sélectionner le fichier à ajouter au fichier .resx, vous n'avez pas l'option "Ajouter en tant que lien". L'astuce consiste à ajouter le fichier (celui qui est une ressource pour votre projet) d'abord en tant que lien vers votre projet et en vous assurant que le fichier lié est situé dans un dossier nommé «ressources» qui vit sous le dossier où votre .resx Le fichier vivra. Ensuite, sur votre fichier .resx, choisissez Ajouter un fichier existant et localiser le fichier que vous avez connecté à l'origine. Maintenant, car Visual Studio verra que le fichier que vous connectez est déjà un lien dans votre projet, il utilisera maintenant le fichier lié. Lorsque vous construisez votre projet (et inclurez-vous et les modifications apportées à ce fichier lié sur la suite complètent la route). (Nous avons utilisé cette technique Retour ~ 2005 à l'aide de Visual Studio et j'ai été en mesure de revoir aujourd'hui à l'aide de VS2019.


1 commentaires