C# Dll导入路径。如何获取位于其他文件夹中的dll路径
我的项目1在这里 \Project1\Bin\Debug\application.exe 我的DLL在里面 \Project1\Debug\3rdparty.dll 如何获取代码中包含此dll的路径C# Dll导入路径。如何获取位于其他文件夹中的dll路径,c#,winforms,C#,Winforms,我的项目1在这里 \Project1\Bin\Debug\application.exe 我的DLL在里面 \Project1\Debug\3rdparty.dll 如何获取代码中包含此dll的路径 [DllImport("????????/3rdparty.dll")] 我应该在问号处写什么 我的解决方案包括其他C++项目。因此,每当编译C++项目时,它会在Projist1调试中刷新DLL(一些我不熟悉C++) 我需要在DllImport[Path]中使用该DLL。 如果我试图添加引用,它会
[DllImport("????????/3rdparty.dll")]
我应该在问号处写什么
我的解决方案包括其他C++项目。因此,每当编译C++项目时,它会在Projist1调试中刷新DLL(一些我不熟悉C++)
我需要在DllImport[Path]中使用该DLL。
如果我试图添加引用,它会给我错误。
这可能是一个非常简单的问题,但由于某种原因,我无法解决它
Hans Pasant在评论部分回答:
将C++项目中的输出目录设置更改为$(SoordDidir)bin \$(配置名称),以便本地DLL与托管程序在同一文件夹中结束。只需在C代码中使用[DllImport(“3rdparty.dll”)。-汉斯·帕桑
只有当它是.NET程序集时,这才有效。因为看起来你正在使用C++ DLL,所以你需要看一下我已经尝试过,但是得到了错误信息:“不能添加DLL的引用”。只能添加.Net程序集作为参考。谢谢提供信息。我不只是.NET程序集可以被添加为参考。将C++项目中的输出目录设置更改为$$(SoordDidir)bin \$(配置名),以便原生的DLL在与托管程序相同的文件夹中结束。只要在你的C代码中使用[DllImport(“3rdparty.dll”)],它就行了。谢谢,汉斯。如果答案有效,请接受它作为解决方案。这对阅读此帖子的其他社区成员是有益的