我们公司使用一些数据库表、网页前端和一个“导出”应用程序来处理我们网站中的字符串资源。
在使用VS2008时,“导出”应用程序运行良好,但自从切换到VS2010以后,解决方案资源管理器中的资源现在下面多了一个 designer.cs 文件。
问题在于,“导出”应用程序仅生成 .resx 文件,而不是底层的 designer.cs 文件。
那么,有没有方法可以不要这些 designer.cs 文件,或者另外一种方法是自动重新生成它们(甚至是一些命令导出应用程序可以调用来重新生成它们)?
我们公司使用一些数据库表、网页前端和一个“导出”应用程序来处理我们网站中的字符串资源。
在使用VS2008时,“导出”应用程序运行良好,但自从切换到VS2010以后,解决方案资源管理器中的资源现在下面多了一个 designer.cs 文件。
问题在于,“导出”应用程序仅生成 .resx 文件,而不是底层的 designer.cs 文件。
那么,有没有方法可以不要这些 designer.cs 文件,或者另外一种方法是自动重新生成它们(甚至是一些命令导出应用程序可以调用来重新生成它们)?
我曾经遇到一个问题,即VS 2010无法重新生成Designer.cs文件,并且在其他地方也找不到解决方案。
然而,我成功地重新生成了Designer.cs文件,而没有去使用命令行。
为了解决Visual Studio 2010的这个问题,我以下列步骤进行操作:
Run Custom Tool
这将重新生成Designer.cs文件。
希望我的经验可以在未来帮助其他人解决同样的问题。
根据MSDN的说明:
当您构建应用程序时,Visual Studio会调用resgen.exe 工具将应用程序资源转换为名为 Resources 的内部类。该类包含在“解决方案资源管理器”下的Resources.resx文件中嵌套的 Resources.Designer.cs 文件中。 Resources 类封装了所有项目资源成为静态只读获取属性,以提供强类型的运行时资源。当您通过Visual C# IDE建立时,所有封装好的资源数据,包括被嵌入到 .resx 文件中和链接的文件,都会直接编译成应用程序集(即 .exe 或 .dll 文件)。换句话说,Visual C# IDE 总是使用 /resource 编译器选项。如果您从命令行中构建,则可以指定 /linkresource 编译器选项,这将使您能够将资源部署在与主应用程序集分开的文件中。这是一个高级场景,只在某些特殊情况下才需要。
<ItemGroup> <EmbeddedResource Include="Resources\Creditor\Display_Creditor.resx"> <Generator>PublicResXFileCodeGenerator</Generator> <LastGenOutput>Display_Creditor.Designer.cs</LastGenOutput> <CustomToolNamespace>Acme.Web.Resources.Creditor</CustomToolNamespace> </EmbeddedResource> <EmbeddedResource Include="Resources\InboundEmail\Tooltip_InboundEmailDetails.resx"> <Generator>PublicResXFileCodeGenerator</Generator> <LastGenOutput>Tooltip_InboundEmailDetails.Designer.cs</LastGenOutput> <CustomToolNamespace>Acme.Web.Resources.InboundEmail</CustomToolNamespace> </EmbeddedResource> <EmbeddedResource Include="Resources\Creditor\Tooltip_CreditorDetails.resx"> <Generator>PublicResXFileCodeGenerator</Generator> <LastGenOutput>Tooltip_CreditorDetails.Designer.cs</LastGenOutput> <CustomToolNamespace>Acme.Web.Resources.Creditor</CustomToolNamespace> </EmbeddedResource> </ItemGroup>免责声明:此代码已在Visual Studio 2013和C#项目中进行了测试。它可能适用于其他项目和/或其他版本的Visual Studio,也可能不适用。
尝试以下操作:
保存并重新构建。 问题解决。
按照以下步骤对我有用:
PublicResXFileCodeGenerator
的内容(一旦您编辑了该字段,设计师文件就会自动生成)。 - ekkis