部署.NET后更改字符串

时间:2015-01-20 10:05:40

标签: .net vb.net string visual-studio-2010 resources

我们有一个很大的项目,只有英语。

业务用户有时需要更改应用程序中的文本,并且他们必须等到下一个版本才能获得更改。

一种可能的解决方案是将字符串放入数据库,另一种可能是未嵌入到程序集中的文本文件,以便在部署后能够更改它。

资源文件很有吸引力,因为它们已经有了一个用于创建访问类和属性的框架,但据我所知,它们只是嵌入到程序集中,并且不能(很容易)在之后修改。

解决此问题的最佳方法是什么?

3 个答案:

答案 0 :(得分:3)

不,你错了 - 资源可以与你的其他代码分开编译,你可以为你的应用程序提供更新:

Creating Resource Files for Desktop Apps

  

.resources文件中的资源您可以使用System.Resources.ResourceWriter类以编程方式创建   二进制资源(.resources)文件直接来自代码。你也可以使用   Resource File Generator (Resgen.exe)从中创建.resources文件   文本文件或.resx文件。

     

创建.resources文件后,您可以通过包含语言编译器的/resource开关将其嵌入到运行时可执行文件或库中,或使用Assembly Linker (Al.exe)将其嵌入到附属程序集中。

当您使用Visual Studio时,您可以通过其界面轻松添加资源文件,然后您将有一种简单的方法来编辑它。

我建议你:

  1. 在那里创建主资源文件,存储主要资源。该文件将嵌入到您的应用程序的库中。在这里,您可以存储不可更新的资源。
  2. en-US文化创建本地化资源 - Visual Studio将在单独的文件中编译它,以便您可以轻松更新它而无需重新编译整个项目。
  3. 或者:

    1. 更改VS的默认行为,并将所有资源从项目移到单独的库中。
    2. 当您使用VS 2010时,我假设您的项目是.NET 3.0,因此MSDN的正确链接是:

答案 1 :(得分:0)

尝试使用app.Config

app.config的主要好处是它直接附加到您的可执行文件。构建解决方案后,app.config将与可执行文件一起复制。

来自What is App.config in C#.NET? How to use it?

  

最简单的是,app.config是一个XML文件,其中包含许多预定义的配置节,并支持自定义配置节。 “配置部分”是XML的片段,其模式用于存储某种类型的信息。

     

可以使用内置配置部分配置设置,例如connectionStrings appSettings 。您可以添加自己的自定义配置部分;这是一个高级主题,但对于构​​建强类型配置文件非常有用。

msdn中的app.config来源:How to: Add an Application Configuration File to a C# Project

答案 2 :(得分:-1)

我想我会用:

https://msdn.microsoft.com/en-us/library/system.resources.resourcemanager.createfilebasedresourcemanager(v=vs.110).aspx

所以我可以创建一个外部资源文件,只需将输出复制到release文件夹。

您如何看待这种方法?

足够快吗?