我在我的WCF项目中引用了一个dll,这个dll使用下面的代码读取.xml文件。
var path = Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), Constants.Configuration.FileConstants.AEC_XML_FILE);
当我在IIS中部署此WCF时。它在下面的路径中搜索.xml文件 -
"C:\Windows\system32\config\systemprofile\AppData\Roaming\Microsoft Corporation\Internet Information Services\7.5.7600.16385\Calculation.xml"
它应该从WCF的bin文件夹中读取.xml,但它正在从上面的路径中搜索.xml。可能是什么原因?
答案 0 :(得分:2)
Assembly.GetEntryAssembly()
不会提供DLL的路径(这不是入口点)。
您可以使用HostingEnvironment.MapPath("~")获取服务的根文件夹。