gpt4 book ai didi

c# - 我可以使用反射在 ASP.NET 中查找 bin/[Configuration] 文件夹而不是 asp 临时文件夹吗

转载 作者:太空狗 更新时间:2023-10-29 20:53:40 25 4
gpt4 key购买 nike

我有一个 ASP.NET 网站,我想找到/bin/[Configuration] 文件夹以使用外部工具(一个 exe 文件)。当我使用反射获取调用程序集位置时,它返回类似于以下内容的内容:

C:\Windows\Microsoft.NET\Framework\\...\Temporary ASP.NET Files\a1388a5e\\...\my.dll

因为每个 dll 在临时 ASP.NET 文件下都有自己的目录,所以这对我来说失败了。

我怎样才能得到 dll 和 .exe 所在的已编译二进制文件夹的位置(即 bin/)而不是 asp.net 的临时缓存?

注意事项

  • 此代码位于支持库中,可以从 ASP.NET 网站或其他控制台/Windows 应用调用。

最佳答案

你可以尝试(取自 How to: Get the Application Directory ):

Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase);

我设置了一个快速测试:

  • 在 VS 开发服务器(编译站点、/bin 目录等)下运行的 Web 应用程序项目。
  • 类库项目,由 WA 引用。
  • 在 Web 应用程序中,我创建了一个从库项目调用以下方法的页面:

    using System.IO;
    using System.Reflection;

    namespace TestHelpers {
    public class ClassHelpers {
    public static string PathToBin() {
    return Path.GetDirectoryName(
    Assembly.GetExecutingAssembly().GetName().CodeBase);
    }
    }
    }

这导致页面上出现以下输出:

file:\C:\Users\ UserName \Documents\Visual Studio 2008\Websites\ Solution \ Project \bin

这是我所期望的。

关于c# - 我可以使用反射在 ASP.NET 中查找 bin/[Configuration] 文件夹而不是 asp 临时文件夹吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2427822/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com