好的我有一个可以在不同服务器上运行的应用程序。我正在使用X509certv2来验证应用程序。我目前在项目本身的Cert。目录下有证书。
代码 : 我正在尝试使用以下代码从位于项目中的该目录中获取该cert文件
string certfile = AppDomain.CurrentDomain.BaseDirectory+"Certs\\"+ConfigurationManager.AppSettings["ClientCertificatePfx"];
结果: C:\ Users \用户er4505 \下载\ newone \ DHG_0365_Procs \ BIN \调试\证证书\ PKCS.pfx
主要目标: 我想从项目本身获取目录,因为它将被放置在几个服务器上,绝对路径不会削减它。
答案 0 :(得分:1)
System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase;
上面的代码片段可以帮助您将其缩小到正在执行的DLL。 (通常可能是你的bin文件夹或你在哪里部署你的DLL)看看是否有帮助!
但是,根据你的结果判断,它已经引用了你的bin,所以这可能会再次引导你进入你的Debug文件夹。
我建议您通过右键单击它来转到证书属性,并将“复制到输出目录”属性值更改为“如果更新则复制”这也应该在编译时将您的证书复制到您的输出文件夹(bin)。你应该可以从那里访问它!