【问题标题】:Get the control of AppDomain.CurrentDomain object in application获取应用程序中 AppDomain.CurrentDomain 对象的控制权
【发布时间】:2013-01-14 07:24:05
【问题描述】:
我需要将当前的AppDomain 设置为我创建的内容。
我想使用 Enterprise Library HandleException 方法记录我的应用程序异常。当我处理异常时,它会在日志表中插入一个日志,并将AppDomainName字段设置为System.AppDomain.CurrentDomain.FriendlyName,这是没有意义的。
我想为我的应用程序拥有自己的FriendlyName。
【问题讨论】:
标签:
c#
.net
logging
appdomain
appdomainsetup
【解决方案1】:
您不能设置当前的应用程序域。
AppDomain.FriendlyName 属性默认具有应用程序文件名的值(阅读备注部分)。您无法在默认应用程序域中更改此设置。
您可以更改的是可执行程序集的名称。您可以从项目的属性中更改它。然后你可以这样使用它:
Assembly.GetEntryAssembly().GetName().Name
它总是返回进程可执行程序集的名称。
【解决方案2】:
Assembly.GetEntryAssembly().GetName().Name 在重命名可执行文件时保持不变。使用 Assembly.GetEntryAssembly().Location 作为可执行文件名。