37

アプリケーション/アセンブリ名とそのバージョンを取得するために使用Assembly.GetEntryAssembly().GetName()していますが、会社名と著作権の変数が表示されません。どうすればそれを取得できますか?

4

3 に答える 3

67

次のようにFileVersionInfoを使用できます。

var versionInfo = FileVersionInfo.GetVersionInfo(Assembly.GetEntryAssembly().Location);

var companyName = versionInfo.CompanyName;
于 2013-10-15T14:53:51.520 に答える
14

会社名に対するこの回答から:

Assembly currentAssem = typeof(CurrentClass).Assembly;
object[] attribs = currentAssem.GetCustomAttributes(typeof(AssemblyCompanyAttribute), true);
if(attribs.Length > 0)
{
    string company = ((AssemblyCompanyAttribute)attribs[0]).Company
}

著作権についても同様です。( を使用AssemblyCopyrightAttribute)。

于 2013-10-15T14:50:02.400 に答える
4

これらは、リフレクションを使用して Assembly オブジェクトで列挙する必要がある属性です。

var attributes = Assembly.GetEntryAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false);

var attribute = null;
if (attributes.Length > 0)
{
    attribute = attributes[0] as AssemblyCompanyAttribute;
}
于 2013-10-15T14:49:53.633 に答える