1

今日の日付を含む必要がある文字列がある状況があります。問題は、今日の日付を含む文字列を .resx ファイルに入れる必要があることです。それを行う方法はありますか?たとえば、copyright 文字列について言うと、copyright-2012-abc は今日の日付が 2012 年で、copyright-2013-abc は今日の日付が 2013 年です。

編集:私はこの著作権のためだけにリソースファイルを使用するつもりです. 例のように、年の値が年を追うごとに変化するだけで、他のすべてのものについては静的になります。

4

2 に答える 2

1

「現在の環境」の値を RESX (またはその他の C# 関連ファイル) に追加する組み込みの方法はありません。

ただし、RESX ファイルを好みに合わせて変更するカスタム スクリプト/ツールを呼び出すプレビルド ルールを比較的簡単に作成できます。

1 つのオプションは、後で RESX ファイルに含まれるファイルを生成するツールを作成することです。このようにして、RESX ファイル自体の変更を回避します (RESX がソース管理下にある場合に問題になる可能性があります)。必要に応じて、date /t > ..\..\out.txtout.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 を変更するハックが存在する可能性がありますが、どちらも機能が少ないために複雑すぎます。

このような著作権文字列の使用例を明確にすることができれば、読者はより具体的な提案を提供できるかもしれません。たとえば、文字列を [About] ボックスに表示するためだけに使用しますか? またはアセンブリ属性?

于 2013-02-28T05:49:50.033 に答える