在调试中的 ASP.NET MVC 应用程序中使用时 dll 中 exe 的路径
我已经为第 3 方 exe 编写了一个包装器。该exe位于我的类库项目内的一个文件夹中,并与dll一起部署。
对启动包含此 exe 的进程的方法进行单元测试工作正常,但是当我通过 Web 应用程序使用内部的 dll 时,无法找到 exe。
调试我发现从我的 Web 应用程序使用时 exe 的路径不正确。
我已经尝试过:
string processPath = Path.Combine(Environment.CurrentDirectory, @"folder\file.exe");
并且
string processPath = Path.GetFullPath(@"folder\file.exe");
简单地说:
var processStartInfo = new ProcessStartInfo(@"folder\file.exe");
是否可以使用某些东西来引用相对于 dll 存储位置的文件夹(即在我的网络应用程序的 bin 中)?
I've written a wrapper for a 3rd party exe. The exe is in a folder inside my class library project and is deployed with the dll.
Unit testing the method that starts the process containing this exe works fine but when I use the dll inside by web application, the exe cannot be found.
Debugging I see that the path to the exe is not correct when used from my web application.
I've tried:
string processPath = Path.Combine(Environment.CurrentDirectory, @"folder\file.exe");
and
string processPath = Path.GetFullPath(@"folder\file.exe");
as well as simply:
var processStartInfo = new ProcessStartInfo(@"folder\file.exe");
Is there something I can use to refer to the folder relative to where the dll is stored (i.e. in the bin for my web app)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
可执行文件:
.dll
可能需要
或者您可以使用:
您可以使用 ILMerge.exe 工具合并 exe 和 dll
在另一篇文章中找到此内容
DLL 包含在 exe.file 中吗?
Executable:
.dll
might need
Or You can use:
You can merge the exe and the dlls with the ILMerge.exe tool
Found this on another post
DLL include in exe.file?
使用
Server.MapPath
。这将返回正确的目录。Use
Server.MapPath
. This will return the right directory.