1

我有一种情况,我有一个字符串,其中应该包含今天的日期。问题是我需要将该字符串包括今天的日期放在 .resx 文件中。有什么办法吗?例如,关于版权字符串,它应该是 copyright-2012-abc 是今天的日期是 2012 年,它应该是 copyright-2013-abc 是今天的日期是 2013 年

编辑:我将仅将资源文件用于此版权内容。对于所有其他事物,它将是静态的,就像示例中一样,该年份的值将随着每一年的变化而变化。

4

2 回答 2

1

没有将“当前环境”值添加到 RESX(或任何其他 C# 相关文件)的内置方法。

但是您可以相对容易地创建预构建规则,该规则将调用您的自定义脚本/工具,根据您的喜好修改您的 RESX 文件。

一种选择是创建工具,该工具将生成稍后包含在 RESX 文件中的文件。这样可以避免修改 RESX 文件本身(如果 RESX 受源代码控制,这可能会出现问题)。根据您的需要,简单date /t > ..\..\out.txt的 out.txt 包含在 RESX 中可能就足够了。

将构建时创建的文件包含到 RESX 中的步骤:

  • 将 TextFile1.txt 添加到您的项目中
  • 将该文件放在 {resourceFileName}.RESX 上(在设计模式下)
  • 检查 {resourceFileName}.Designer.cs 是否使用新属性更新以访问新资源的内容
  • 在解决方案资源管理器中选择项目的属性并打开“构建事件”选项卡
  • 将“date /t > ....\TextFile1.txt”添加到预构建步骤(将当前日期转储到“TextFile1.txt”
  • 构建和使用新的资源变量,即Console.WriteLine(Resource1.TextFile1)

RESX 示例内容:

  <data name="TextFile1" type="System.Resources.ResXFileRef, System.Windows.Forms">
    <value>textfile1.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>
  </data>
于 2013-02-28T06:16:47.793 回答
0

resx 用于存储静态资源。尽管在运行时或在开发期间通过某种脚本来更改 resx 可能会有一些技巧,但是,这两种方法都为小功能引入了太多的复杂性。

如果您能阐明此类版权字符串的用例,读者也许可以提供更具体的建议。比如说,您是否仅将字符串用于在“关于”框中显示?还是程序集属性?

于 2013-02-28T05:49:50.033 回答