获取wcf服务程序集中的文件路径

VJA*_*JAI 5 .net c# wcf filepath .net-assembly

我有一个由IIS中托管的WCF服务引用的程序集.程序集使用了一些XSLT文件,我很困惑在哪里转储这些文件要么在程序集项目本身或在WCF服务端创建文件夹,以及如何在程序集中获取xslt文件的物理路径?

Jak*_*lås 1

将它们放入引用程序集的子文件夹中,将它们标记为Content并启用Copy to Output Directory
然后,在需要文件路径的汇编代码中,获取执行程序集的路径并将预期的子文件夹添加到该路径,例如:

var dllPath = Path.GetDirectoryName(  
    System.Reflection.Assembly.GetExecutingAssembly().Location);
var targetPath = Path.Combine(dllPath, "XsltFolder");
Run Code Online (Sandbox Code Playgroud)

  • 我已经按照你说的做了,但出现以下错误无法找到路径的一部分 'C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\d5e86da5\28c7474e \ assembly \ dl3 \ e3edeed7 \ 4bb2927d_561fcc01 \ AV.BackOffice.Caliber.DLL \ XSLTs \ Violations.xslt'。GetExecutingAssembly().Loaction 没有返回我认为的预期路径,但 XSLTs 文件夹被复制到调试目录。 (2认同)