如何在运行网站/ Web应用程序时获取项目名称?

时间:2011-10-25 10:53:06

标签: c# asp.net

我有一个网站和一个Web应用程序,它们都记录到一个常见的错误表。我希望能够知道哪个项目记录了错误。但我不能用一些全球财产来做。我想通过反思得到项目名称。这可能吗?它是否保留在清单中,无论项目构建的符号是什么,都可以使用?

3 个答案:

答案 0 :(得分:1)

尝试使用以下

System.IO.Path.GetFileName(System.Reflection.Assembly.GetExecutingAssembly().Location)

参考链接::: Get executing assembly name using reflection

http://forums.devshed.com/net-development-87/c--get-project-s-name-via-net-object-483704.html

答案 1 :(得分:1)

“Project”纯粹是一个VS / MSBuild概念,因此不存在于这些工具领域之外。我可以建议的是使用Global.asax - “派生”应用程序的命名空间的第一个“段”。

var applicationName = typeof(Application).Namespace.SubstringBeforeFirst(".");

答案 2 :(得分:0)

我看到两个解决方案(假设您的错误表是基于SQL的)

  • 重写错误表并“给”每个项目自己写入,然后如果你需要聚合它们,你可以在视图中组成一个简单的联合(然后你可以在结果表中有项目名称基于记录来自哪里)

  • 在错误表中添加一个“项目名称”列,然后在编写错误时填写它(因为每个项目在写入时都知道他的名字是什么,这是一个简单的任务,硬编码这些数据无法闻到太多了)

如果您有限制,请说明在哪里以及为何我们可以更轻松地提供帮助。