15

在 VB.Net 中,我可以使用以下方法检索应用程序的 ProductName 和 CompanyName:

My.Application.Info.ProductName
My.Application.Info.CompanyName

我如何在 C# 中做同样的事情?

4

4 回答 4

50

您可以使用AssemblyFileVersionInfo

Assembly assembly = Assembly.GetExecutingAssembly();
FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(assembly.Location);
var companyName = fvi.CompanyName;
var productName = fvi.ProductName;
var productVersion = fvi.ProductVersion;
于 2011-12-01T00:33:08.180 回答
8

只需使用:

System.Windows.Forms.Application.ProductName
System.Windows.Forms.Application.CompanyName

...在程序集中 System.Windows.Forms.dll

或者,如果您愿意:

using System.Windows.Forms;
//...
string productName = Application.ProductName;
string companyName = Application.CompanyName;
于 2011-12-01T00:31:54.647 回答
2

您需要引用Microsoft.VisualBasic.MyServices命名空间。有关更多信息,请参阅内容。但是,您不能使用完全相同的语法。还有更通用的 .net 方法,您通常会在 c# 中使用这些方法来获取您从 My.Whatever 中获得的相同类型的信息,但它们彼此完全无关。在 c# 语言中没有直接等效于使用 My.Whatever 的方法。

于 2011-12-01T00:26:37.790 回答
0
var company = new AssemblyInfo(Assembly.GetExecutingAssembly()).CompanyName;

第二种用法:

var codedBy = var company = "Coded by "+(new AssemblyInfo(Assembly.GetExecutingAssembly()).CompanyName);
于 2015-02-21T14:40:42.240 回答