繁体   English   中英

在.net类库中检测调用项目的类型

[英]Detect calling project type in a .net class library

我在Dotnet中生成了一个类库。 现在,我已将此库链接到各种客户端,控制台程序,服务,单元测试项目和ASP.NET网站中。 在某些部分中,我需要从磁盘加载某些文件(即Excel模板)。 在这种情况下,不同调用者项目的位置是不同的。

所以我的问题是:找出当前库中正在使用哪种项目类型的最佳方法是什么?

检测网站客户端很容易,我只需要检查System.Web.HttpContext.Current是否为Nothing。 但是如何检测其他客户端呢?

即使您现在设法检测到不同类型的应用程序,也无法确定该逻辑将来是否仍然有效。

我认为最好不要猜测并实现另一个解决方案,例如:

  1. 使用相对于当前应用程序根目录的路径,例如通过使用AppDomain.CurrentDomain.BaseDirectoryMSDN
  2. 将文件的位置放入应用程序的配置文件(在appSettings部分中),然后使用ConfigurationManager.AppSettings.Get()MSDN )从库中读取文件的位置

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM