Tag: 资源

如何从c#代码更改可执行文件图标? (不是我的应用图标)

如何从c#代码更改* .EXE图标(不是我的主应用程序图标,而是从该应用程序我想要更改另一个exe的图标)。 我最终将不得不更改大量文件的图标,所以我正在寻找一种快速且良好的性能方式来实现它。 我一直在谷歌搜索30分钟,但我找到的是如何在VS中设置应用程序的图标。

C# – 无法从ResourceManager获取字符串(来自附属程序集)

我正在开发一个可本地化的应用程序。 在我的“本地”资源文件中,我使用了默认使用的语言(英语),如果可能的话,我加载用户的首选项和文化,并加载翻译成语言的字符串。 所以我做了什么: private static CultureInfo _culture = CultureInfo.CurrentUICulture; private static ResourceManager _manager; private static void ToNeutralCulture() { while (!_culture.IsNeutralCulture) { _culture = _culture.Parent; } } private static void LoadCulture() { ResourceManager manager = Properties.Resources.ResourceManager; try { ToNeutralCulture(); string assembly = Assembly.GetCallingAssembly().GetName().CodeBase; string assemblyDir = Path.GetDirectoryName(assembly); string assemblyName = Path.GetFileNameWithoutExtension(assembly); string resourceFileName = string.Format(CultureInfo.InvariantCulture, @”{0}\{1}_{2}.dll”, […]

从另一个项目访问resx资源文件

我正在使用asp.net 3.5,我的解决方案目前有2个项目,一个API类项目和一个网站项目,在类项目中我有一个名为checkin.resx的资源文件。 为了能够从我的网站项目访问资源文件,我不得不将“访问修饰符”设置为公共,这允许我使用强类型名称来访问资源,例如: CkiApi.Checkin.Resources.Checkin.OCKI_HeaderText ,其中Checkin是.resx文件,OCKI_HeaderText是资源键。 我面临的问题是我无法从前端aspx代码访问资源,例如,设置标签的文本属性或validation错误消息。 我尝试了以下语法无济于事: <asp:Label AssociatedControlID="IdentMethods" EnableViewState="false" ID="lblIdentMethod" runat="server" Text="”> 我得到的错误是 找不到具有键“OCKI_IdentificationMethod”的资源对象。 但无论我将类名设置为什么,我都会得到同样的错误,我正在考虑它,因为它试图查看网站项目,但我无法弄清楚如何告诉它看看API! 有人可以帮忙吗? 我可以使用以下设置非服务器端标签:

在后面的代码中使用资源图像

我需要动态更改应用于我的一个按钮的背景图像,但无法弄清楚如何。 图像将添加到项目中,并将其“构建操作”设置为“资源”。 我试过以下: buttonUnits.Background = new ImageBrush(new BitmapImage(new Uri(“/Images/InchDOWN.png”,UriKind.Relative))); 这会成功编译,但会在DirectoryNotFoundException崩溃时说“无法找到路径的一部分’C:\ Images \ InchDOWN.png’。” 我不希望应用程序在磁盘上查找图像。 如何将图像用作嵌入式资源? 我认为它涉及将构建操作更改为嵌入式资源,但如何在后面的代码中使用此资源?

如何从C#项目的Resources文件夹中检索Image

我在项目的资源文件夹中有一些图像,但我想从项目的这些资源文件中更改图片框

找不到适合指定文化或中性文化的资源

我创建了一个程序集,后来重命名了它。 然后我在调用时开始收到运行时错误: toolsMenuName = resourceManager.GetString(resourceName); resourceName变量在运行时是“enTools” 。 找不到适合指定文化或中性文化的资源。 确保在编译时将“Jfc.TFSAddIn.CommandBar.resources”正确嵌入或链接到程序集“Jfc.TFSAddIn”中,或者所有所需的附属程序集都是可加载和完全签名的。 代码: string resourceName; ResourceManager resourceManager = new ResourceManager(“Jfc.TFSAddIn.CommandBar”, Assembly.GetExecutingAssembly()); CultureInfo cultureInfo = new CultureInfo(_applicationObject.LocaleID); if(cultureInfo.TwoLetterISOLanguageName == “zh”) { CultureInfo parentCultureInfo = cultureInfo.Parent; resourceName = String.Concat(parentCultureInfo.Name, “Tools”); } else { resourceName = String.Concat(cultureInfo.TwoLetterISOLanguageName, “Tools”); } toolsMenuName = resourceManager.GetString(resourceName); // EXCEPTION IS HERE 我可以看到项目中包含的CommandBar.resx文件,我可以打开它并在那里看到“enTools”字符串。 似乎任何资源都不包含在程序集或资源中,但.NET无法解析名称。

Visual Studio – 用资源替换硬编码字符串的工具

我有一个充满硬编码字符串的大型ASP.NET项目,现在必须将其提取到资源中。 几乎可以在任何地方找到这样的字符串(.cs文件,.aspx文件,.ascx文件等),文件数量巨大。 我正在寻找的是一个工具(或任何方式),一次性找到所有这些硬编码字符串,并将它们放在资源文件中,而不是我手动通过每个文件。 有这样的事吗? 注意:我知道在第一次需要时将字符串放在资源中会更好,但这是一个2年前的项目,没人真正关心(典型的“不是我的问题”哲学的例子) )。 非常感谢你。 更新 :我尝试过CodeRush(由于显而易见的原因我无法尝试RGreatEx),而且我在使用它时遇到了困难。 主要问题是我正在寻找的字符串主要位于.aspx文件中,并且这些文件中的字符串没有“Refactor to resource”命令可用。 例如,我可以有这样的元素: 我需要更改的部分是ShowInColumn =“Total”,并使其像ShowInColumn =“” 。 这不是严格的字符串赋值,而是属性赋值,所以“重构!” CodeRush的命令不会出现。 我的目标是一次性找到所有这些并在特定界面(例如本地化工具)中更改它们,而不是逐个查找它们并手动创建相应的资源。 在每个文件中逐个重构将是一种改进,但仍然非常耗时……

如何在xaml中定义和使用资源,以便它们可以在C#中使用

从理论上讲,我认为我可以在xaml文件中定义画笔和颜色等,并将其分配给c#中的button.background。 但是我该怎么做? 我在哪里放置如下的lineargradientbrush定义: 只是将它放在我窗口的xaml文件中的不同位置会导致各种错误消息:/ 我在stackoverflow上找到了这个问题: 如何在XAML中使用定义的画笔资源,从C#中解释其中的一部分,但他似乎知道在哪里做画笔定义。 我还尝试将shinyblue.xaml wpf模板添加到应用程序中,并将到app.xaml中的application.resources。 这使得我的所有按钮立即变为蓝色,但是,仍然可以从C#中访问shinyBlue.xaml中定义的像“NormalBrush”这样的“东西” – 至少我不知道如何。 渣

WPF在WinForms应用程序中使用,在哪里放置应用程序资源?

目前,我们在WinForms应用程序中托管了许多WPF控件。 使用System.Windows.Forms.Application.Run(…)方法和使用ElementHost托管的WPF控件启动应用程序。 在普通的WPF应用程序中,我定义了一个System.Windows.Application对象( App.xaml )并在其上调用run。 通常,任何应用程序级别的WPF资源都会进入那里。 我们没有这个。 如何为WPF控件指定应用程序级资源,但仍作为WinForms应用程序运行?

资源(.resx)文件是否存在任何性能问题或警告?

资源文件似乎很适合标签和消息的本地化,但它们是否完美? 例如: 如果有大量资源,是否有更好的解决方案? 像.resx文件中的100,000个字符串一样? (理论上,我实际上没有这个问题) 这是存储其他类型数据的好方法,例如图像,图标,音频文件,常规文件等吗? 将.resx文件存储在独立项目中以便于更新/编译是最佳做法吗? 使用.resx文件时是否还有其他问题?