hereの指針に従うと、私はdynamical update assembly copyrightに設計されたプリビルドプロセスを実装しました。TexTransform cliと著作権シンボル
著作権のためのテンプレートが
<#@ template language="C#" #>
<#@ output extension=".cs" #>
using System;
using System.Reflection;
[assembly: AssemblyCopyright("Copyright © <#=DateTime.Now.Year#>")]
私はVSでファイルを保存する場合、結果のファイル(およびコンパイルアセンブリ)が正しく著作権記号(©)が含まれています。 TextTransform.exe(この場合はv12.0)を呼び出すプレビルドの一部として実行すると、結果のファイルには '?'代わりに。 encoding="us-ascii"
と同じ結果が得られます。エンコーディングがutfバリアントのいずれかに設定されている場合、 ' 'として出力されます。 \ u00A9を使用するようにテンプレートを変更すると、アセンブリのコンパイル時に同じ結果が得られます。
私はcode generation in the solution build processを取り入れることができますが、これは新しい採用者(新しい環境設定;新しい開発環境)で適切なSDKがインストールされていることを保証します。また、テンプレートを使用しているすべてのプロジェクトに手動で介入する必要があります(私たちのグループは、1年で数多くのプロジェクトを行いますが、その多くは複数年にわたるメンテナンスを必要とします)。このプロセスでは、ビルドごとに強制的に再生成も強制されます(ビルド前のイベントは一時ファイルに生成され、上書きを試みる前に相違を比較します)。最後に、このパスの結果は、ビルド前のイベントと同じように見えます。
その他のオプションはありますか?