将使用 AppDomain.CurrentDomain.BaseDirectory 获取我的应用程序的基本目录

Will using AppDomain.CurrentDomain.BaseDirectory get my application's base directory

好的,我有一个可以在不同服务器上 运行 的应用程序。我正在使用 X509certv2 来验证应用程序。我目前在 Cert.

目录下的项目本身中拥有证书

代码 : 我正在尝试使用以下代码从位于项目

的目录中获取该证书文件
string certfile = AppDomain.CurrentDomain.BaseDirectory+"Certs\"+ConfigurationManager.AppSettings["ClientCertificatePfx"];

结果: C:\Users\er4505\Downloads\newone\DHG_0365_Procs\bin\Debug\Certs\PKCS.pfx

主要Objective: 我想从项目本身获取目录,因为它会放在少数服务器上,绝对路径不会削减它。

System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase;

上面的代码片段可以帮助您将范围缩小到您正在执行的 DLL。 (通常可能是您的 bin 文件夹或您部署 DLL 的位置)看看是否有帮助!

但是,从您的结果来看,它已经在引用您的 bin,因此这可能会再次将您引导至您的 Debug 文件夹。

我建议您通过右键单击证书属性并将 "Copy to Output Directory" 属性值更改为 "Copy if Newer" 这也应该在您编译时将您的证书复制到您的输出文件夹 (bin)。您应该可以从那里访问它!