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

时间:2012-11-13 00:54:02

标签: .net resx

我有一个项目的源代码,但是缺少.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运行了“运行自定义工具”,但仍然会收到相同的错误和两个警告。

10 个答案:

答案 0 :(得分:8)

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

答案 1 :(得分:5)

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

DotPeek

中打开dll / exe

enter image description here

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

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

答案 2 :(得分:4)

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

答案 3 :(得分:2)

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

我在项目中浏览了十几个resx文件,发现其中大多数都是相同的;少数不是,只有一两条额外的线。

答案 4 :(得分:2)

我来自未来,Visual Studio 2019。经过更大的合并过程后,我遇到了同样的问题(出于某种原因,它要求我合并很多或全部 *.Design 文件)。很明显,我不得不从 .resx 文件中重新生成自动生成的代码。

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

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

答案 5 :(得分:1)

据我所知,没有办法重新生成.resx文件,但你可以采用另一种方式 你可以创建另一个/同一个win应用程序和所有控件方面。然后采取新创建的resx文件并添加到旧项目。试试吧也许它会起作用

答案 6 :(得分:1)

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

答案 7 :(得分:1)

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

答案 8 :(得分:0)

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

答案 9 :(得分:-1)

将项目中任何其他表单的.resx文件复制到项目文件夹,然后重试。它对我有用。