HTML   发布时间:2022-04-14  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如果没有System.Web.dll,C#Library Code如何知道它的托管应用程序类型?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我们正在 Windows上使用C#和.NET 4.0在Visual studio 2010中开发多个应用程序.两个SilverLight应用程序使用来自多个WCF项目的服务.另一个是控制台应用程序.

我们希望在一个单独的库项目中放置一些“通用”功能,以便分解和重用代码.由于文件路径处理不同,此库需要知道应用程序是托管(IIS,ASP.NET …),如WCF服务还是作为控制台应用程序运行.

谷歌搜索这个问题,人们表示使用System.Web.dll以了解代码是否托管,使用httpContext,HosTingEnvironment.IsHosted ……问题是这种方法需要包含对System.Web int的引用如果此库将由具有客户端配置文件的控制台项目引用,则不能接受库项目.

我们的想法是使用另一种不涉及使用System.Web程序集的技术.

解决方法

如果您只需要获取包含应用程序的文件夹中的文件的路径(如问题评论中所述),您可以使用:
Path.Combine(System.AppDomain.CurrentDomain.baseDirectory,"filename")

对于ASP.NET应用程序,这将是根文件夹(与MapPath(“〜/”fileName)相同),对于控制台应用程序,它将是包含可执行文件的文件夹.

从评论到原始问题:

我不建议使用相对路径.这将与当前工作目录相关,该目录可能与应用程序目录不同.

大佬总结

以上是大佬教程为你收集整理的如果没有System.Web.dll,C#Library Code如何知道它的托管应用程序类型?全部内容,希望文章能够帮你解决如果没有System.Web.dll,C#Library Code如何知道它的托管应用程序类型?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。