有办法重新生成丢失的.resx 文件吗?

问题描述 投票:0回答:11

我有一个项目的源代码,但缺少 .resx 文件,这会阻止编译。有没有办法为其重新生成 resx 文件?这是我在 XP 计算机上使用 Visual Studio 2010 Professional 创建的 C# 项目,我尝试在 Windows 8 计算机上使用 Visual Studio 2012 Ultimate 打开该项目。

更新

它(Resources.resx)实际上在那里(在“属性”下),所以我猜“找不到”的意思是:“我不喜欢你给我的那个。”

当我按下 F6 再次尝试时,我收到警告:“自定义工具“ResXFileCodeGenerator”与文件“Properties\Resources.resx”关联,但在项目中找不到自定义工具的输出。您可以尝试通过右键单击解决方案资源管理器中的文件并选择运行自定义工具来重新运行自定义工具。”

还有:“自定义工具“SettingsSingleFileGenerator”与文件“Properties\Settings.settings”关联,但在项目中找不到自定义工具的输出。您可以尝试右键单击来重新运行自定义工具在解决方案资源管理器中选择文件并选择运行自定义工具。”

我对 Resources.resx 和 Settings.settings 运行“运行自定义工具”,但仍然收到相同的错误和两个警告。

.net resx
11个回答
6
投票

如果您过去编译过该项目并且有可用的 dll/exe,您可以使用 JetBrains 的 DotPeek 应用程序从程序集中导出 resx XML

DotPeek

中打开dll/exe

enter image description here

然后双击每个资源以在窗口中查看 XML。然后,您可以将 XML 复制/粘贴到文本编辑器中并另存为 .resx 文件。

不必右键单击资源并尝试“将资源保存到文件”选项,因为这不会以与您在屏幕上看到的格式相同的格式创建文件。


6
投票

右键单击并删除.resx表单项目 右键单击表单并更新资源管理器 构建项目 运行项目


4
投票

我知道这个问题有点老了,但我在生成 .resources.dll 文件时遇到问题,并且在最近更改 .NET Framework 版本后,.ResX 文件仍然包含旧的 .NET Framework 版本。我能够通过打开受影响的表单并转到“设计”->“可本地化”并将其更改为“False”来解决此问题。然后我构建了该项目,然后将其更改回“True”,并重新生成了 .ResX 文件。


3
投票

我来自未来,Visual Studio 2019。在更大的合并过程后我遇到了同样的问题(由于某种原因它要求我合并大量或全部 *.Design 文件)。显然,我必须以某种方式从 .resx 文件重新生成自动生成的代码。

解决方案:我更改了一个条目(名称,而不是值),保存它,将其改回来,保存它。这似乎强制重新生成所有 .resx 文件,并且该项目正在再次编译。

只需进行一次更改,就需要更改自动生成的代码。


2
投票

我在为一个相当广泛的项目创建的表单上遇到了这个问题。我可以简单地在同一个项目中复制另一种形式的 resx,并更改文件名。

我查看了项目中的十多个 resx 文件,发现其中大多数都是相同的;少数不是,只是多了一两行不同。


1
投票

据我所知,无法重新生成 .resx 文件,但您可以采用另一种方式 您可以创建另一个/相同的 win 应用程序及其所有控件。然后将新创建的 resx 文件添加到旧项目中。尝试一下也许会有效


1
投票

我是这样解决这个问题的:我从记事本中的另一个项目中打开了丢失的辅助文件(AssemblyInfo.cs、Resources.resx、Resources.Designer.cs、Settings.settings 和 Settings.Designer.cs),删除了没有的内容不属于(例如对 ThemeEditor 或类似内容的引用),根据需要更改了其他内容(应用程序或包的名称),这些最终被接受为属于我的应用程序。


1
投票

Visual Studio 2012-2015 用户 对于 Web 应用程序,只需在解决方案资源管理器中选择缺少 resx 的 Web 控件 (ascx) 或页面 (aspx),然后转到“项目”菜单并选择“转换为 Web 应用程序”,在出现提示时按“确定”。您应该在解决方案资源管理器中的所选项目下看到新文件。


0
投票

将项目中任何其他形式的

.resx
文件复制到项目文件夹中,然后重试。这对我有用。


0
投票

如果运行 VS 2017 或更高版本,我只是删除了该文件。


0
投票

删除有问题的 .resx 文件后,我只需双击表单将其打开(万岁 - 它再次打开!)并且 .resx 文件被重新创建。

© www.soinside.com 2019 - 2024. All rights reserved.