技術とか戦略とか

SIerで証券レガシーシステムを8年いじってからSESに転職した普通の文系SEによる技術ブログ。

C#:Visual Studioで作成したプログラムの著作権表示について

C#で作成した実行ファイルについて、プロパティ > 詳細タブ を確認すると、著作権表示が下記のようになっています。
 
コマンドラインからビルドした場合(コマンド:csc.exe hoge.cs)
f:id:akira2kun:20200704231808j:plain
Visual Studioでビルドした場合
f:id:akira2kun:20200704231837j:plain
 
コマンドラインからビルドした場合は何も設定されていないのですが、Visual Studioからビルドした場合はPCメーカ名が表示されてかなりかっこ悪いです。
誰かに提供するプログラムなのであれば、直したいところです。
 
Visual Studioでは、著作権表示を自動的に生成します。
生成された著作権情報は、プロジェクトフォルダ\Properties\AssemblyInfo.cs にて定義されています。
(プログラムのバージョン等の情報も一緒に定義されています。)
定義内容は以下の通りです。
 



using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

// アセンブリに関する一般情報は以下の属性セットをとおして制御されます。
// アセンブリに関連付けられている情報を変更するには、
// これらの属性値を変更してください。
[assembly: AssemblyTitle("HelloWorld")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("(PCメーカ名)")]
[assembly: AssemblyProduct("HelloWorld")]
[assembly: AssemblyCopyright("Copyright © (PCメーカ名) 2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

// ComVisible を false に設定すると、このアセンブリ内の型は COM コンポーネントから
// 参照できなくなります。COM からこのアセンブリ内の型にアクセスする必要がある場合は、
// その型の ComVisible 属性を true に設定してください。
[assembly: ComVisible(false)]

// このプロジェクトが COM に公開される場合、次の GUID が typelib の ID になります
[assembly: Guid("88d5f4be-6143-40d2-b091-4cb6e0e938e7")]

// アセンブリのバージョン情報は次の 4 つの値で構成されています:
//
//      メジャー バージョン
//      マイナー バージョン
//      ビルド番号
//      Revision
//
// すべての値を指定するか、次を使用してビルド番号とリビジョン番号を既定に設定できます
// 既定値にすることができます:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]



 
これらの情報を書き変えて再度ビルドすれば、著作権情報を更新することができます。
 
なお、AssemblyInfo.cs を直接いじらずに、Visual Studio の画面から更新することもできます。
ソリューションエクスプローラー > (任意のプロジェクトを選んで右クリック) > プロパティ > アプリケーション タグ > アセンブリ情報 を選択することで、更新画面を表示できます。

 f:id:akira2kun:20200704231918j:plain
f:id:akira2kun:20200704231948j:plain