.dll应用程序名称

3

编写一个.NET DLL,如何找到Application.ProductName

编辑:
显然,导入Windows.Forms可以解决问题,但我的DLL与Windows Forms无关。


1
你需要找到一个合理的技术原因来证明避免引用Windows.Forms是有道理的。你对于不引用它的厌恶感对我来说毫无意义,因为它是框架的一部分,而你需要框架才能运行你的DLL。 - Gabriel Magana
2个回答

3
Application类只需要一个对System.Window.Forms的引用。因此,更简单的方法是在您的*.dll中添加该引用并使用该属性。但是,如果您不允许引用Windows Forms库,则可以在自定义类中复制该功能,并从您认为是应用程序的程序集中读取AssemblyProductAttribute。对于控制台应用程序,您将考虑从Assembly.GetEntryAssembly返回的程序集为您的应用程序。

嗯,应该导入哪个是“最糟糕”的:Windows.Forms还是System.Reflection? - serhio
考虑到 Application.ProductName 使用了 System.Reflection,我们唯一需要做出的选择是:是应该引用 Windows Forms 以获得更干净、经过测试的代码,还是添加更多代码以进行维护? - João Angelo

2

这段代码在C#中经过测试,至少在VB中应该可以正常运行。但是对于C++我不确定。

System.Windows.Forms.Application.ProductName

你让我在一个.DLL中导入Windows.Forms。 - serhio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,