gpt4 book ai didi

c# - 需要获取我创建的 dll 类库的当前路径

转载 作者:太空宇宙 更新时间:2023-11-03 13:11:50 24 4
gpt4 key购买 nike

我无法获取我创建的 dll 类库的当前路径,它在 ASP.NET 网站中作为 ActiveX 加载。

我尝试了几个命令,但都没有成功。例如,我试图在变量 _path 中获取当前路径:

namespace WebScanControl {

[ApplicationControl(Width=640,Height=480)]
public sealed partial class ScanControl:ApplicationControl {

public ScanControl() {
InitializeComponent();
}

protected override void Construct(ReadOnlyCollection<object> args) {
try {

string _path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);


} catch(Exception ex) {
MessageBox.Show(string.Format("{1}{0}{2}", Environment.NewLine, ex.Message, ex.StackTrace), ex.GetType().Name, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
base.Construct(args);
}

}
}

但是,变量 _path 获取:

C:\Users\miyahira\AppDataLocalTemp\3f3574554-2ef8-e8r9-9c8b-e40561d03bb

这不是它的路径。

我的dll类库当前路​​径是:

F:\webapp\WebScan\Scan\

如您所见,这个类库是一个ApplicationControl。这就是为什么无法获取其当前路径的原因吗?

最佳答案

您的主要问题是您认为库将保留在磁盘上。

ASP.NET 在启动期间获取所有程序集,并将其移动到临时文件夹,它可以在其中随意使用它们。

所以 C:\Users\miyahira\AppDataLocalTemp\3f3574554-2ef8-e8r9-9c8b-e40561d03bb 是正确的路径。

您的 ActiveX 组件是如何添加到应用程序中的? ASP.NET 站点的位置是什么?您可以尝试从 HTTPContext.ApplicationInstance 中获取路径属性(property),但不能肯定地说它是否有效。

关于c# - 需要获取我创建的 dll 类库的当前路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28237088/

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