Windowsファイルのバージョンダイアログで情報を拡張する方法はありますか?すべての標準属性は既に使用されており、追加情報を追加することはできません。Windowsのバージョンアプレットの情報を拡張する方法
Other version information:
Item name: Value:
Assembly Version Information related to my additional attribute
File Version
Language
Product Name
Product Version
>My Additional Attribute
多くのおかげで、
Ovanes
P.S.:私は必要なの下にファイルのプロパティ/バージョンアプレットの項目の一つとして示さ付加価値として使用できる新しい属性クラスの一種であります追加のリソースを注入するリソースエディタやコマンドラインツールを使用して回答を得た後、私は現在のプロジェクト設定を明確にしたいと思います。私たちには700以上のアセンブリがあります。現在、すべてのアセンブリのコンパイルに含まれるグローバルファイルAssemblyVersion.csを使用しています。すべてのバージョンフィールドは一度そこに埋め込まれ、すべてのアセンブリのビルド中に含まれます。問題は、私が持っていなければならない厳格な政策だということです。 AssemblyVersion.csでは、すべての一般的な(プロジェクト関連)データが埋め込まれているように:
[assembly: AssemblyCopyright("My global copyright message")]
事前定義された非共通のフィールドは、アセンブリ独自のバージョンのファイルで指定することは自由です。これらのフィールドがそこに指定されていて、グローバルなAssemblyVersion.csにそれらを入れると、コンパイルエラーが発生します。強力な名前のアセンブリを生成するので、リソースエディタでハッキングすると署名が破棄されます。 700個のアセンブリすべてでリソースファイルをインポートするには、かなりの時間がかかります。最善のアプローチとして、私は次のように使用する独自の属性クラスを記述するために参照してください。
[assembly: MyAssemblyAttribute("Some data goes here")]
ファイルバージョンダイアログで、この属性のショーを作るには?
なぜ私のオプションではないのか説明するために投稿を編集しました。 – ovanes
AssemblyCopyright属性など。コンパイラによって認識される特殊な属性です。バージョンデータリソースに追加する新しい属性を認識するようにコンパイラを変更する必要があります。 (実際には:Mono C#コンパイラのソースは自由に入手できます!)あなたの場合、最良のオプションは '/ win32res'オプションです。 – dtb
Visual Studioでバージョン構造を調べました。そこにはさらにフィールドを置くことはできません。属性にマップされていない唯一の2つのフィールドは、SpecialBuildとPrivateBuildです。これらのフィールドを登録して、アセンブリレベルの属性で設定することはできますか?コンパイラのカスタマイズはオプションではありません;) – ovanes