c#project找不到c++。动态链接库? 我有一个工作C++,它在一个C项目中工作,我通过互操作服务调用它。我已经创建了另一个c#项目,正在尝试调用相同的.dll,但不断收到一条通用错误消息,指出找不到.dll,这两个项目都是.net 2.0。我应该将.dll文件放入哪个文件夹,以及在项目中指定的位置,以便项目可以找到它

c#project找不到c++。动态链接库? 我有一个工作C++,它在一个C项目中工作,我通过互操作服务调用它。我已经创建了另一个c#项目,正在尝试调用相同的.dll,但不断收到一条通用错误消息,指出找不到.dll,这两个项目都是.net 2.0。我应该将.dll文件放入哪个文件夹,以及在项目中指定的位置,以便项目可以找到它,c#,.net,c++,C#,.net,C++,把它当成是对我的提醒 在上一个项目中,我没有对它的引用,我只是把它放在/bin文件夹中,对这个项目做同样的事情是行不通的 谢谢R.< /P> < P>将C++(原生)DLL放在C项目中的输出目录中,bin \Debug或Suth/Suff[>P>将C++(原生)DLL放在你的C项目中的输出目录中,bin \Debug或Suth/ < P>只要你把你的工作目录放到DLL的位置,你就不会有问题。 转到“调试”选项卡上的项目属性,并将工作目录设置为包含DLL的目录。只要将工作目录放置到DLL的位置,就

把它当成是对我的提醒

在上一个项目中,我没有对它的引用,我只是把它放在/bin文件夹中,对这个项目做同样的事情是行不通的


谢谢R.< /P> < P>将C++(原生)DLL放在C项目中的输出目录中,bin \Debug或Suth/Suff[

>P>将C++(原生)DLL放在你的C项目中的输出目录中,bin \Debug或Suth/

< P>只要你把你的工作目录放到DLL的位置,你就不会有问题。


转到“调试”选项卡上的项目属性,并将工作目录设置为包含DLL的目录。

只要将工作目录放置到DLL的位置,就不会出现问题


转到“调试”选项卡上的项目属性,将工作目录设置为包含DLL的目录。

我通常将DLL作为文件添加到项目中,并将其复制到较新的目录。

我通常将DLL作为文件添加到项目中,并将其复制到较新的目录中。

C\DLL尝试通过相对路径访问未管理的DLL是错误的受与加载dll的任何进程相同的规则控制-即文件必须与可执行文件位于同一目录中,或位于进程的PATH变量中定义的路径之一

为了让您的视觉解决方案自动为您做到这一点,您可以做很多事情:

  • 将非托管项目添加为C#项目依赖项。这将把DLL复制到C可执行文件的路径中

  • <> >将C++项目的输出路径更改为C可执行文件的输出路径。

    < L> > p>构建C++项目,并将DLL添加为C项目的链接。在其属性中设置以复制到输出目录

    C#dll试图通过相对路径访问未配置的dll,其规则与加载dll的任何进程的规则相同,即文件必须与可执行文件位于同一目录中,或者位于进程的path变量中定义的路径之一

    为了让您的视觉解决方案自动为您做到这一点,您可以做很多事情:

  • 将非托管项目添加为C#项目依赖项。这将把DLL复制到C可执行文件的路径中

  • <> >将C++项目的输出路径更改为C可执行文件的输出路径。

    < L> > p>构建C++项目,并将DLL添加为C项目的链接。在其属性中设置以复制到输出目录


    确保有问题的DLL所依赖的所有DLL也与使用该DLL的exe位于同一目录中。

    确保有问题的DLL所依赖的所有DLL,也与使用DLL的EXE相同的目录。< /P>在C++项目中添加了项目引用到C++项目吗?@ Ion Todriel:我假设他是C++ + CLI,也许我应该更明确一些。如果是本地C++,那么他就不会谈论互操作。你在C++项目中添加了项目引用到C++项目吗?@ Ion Todriel:我假设他是C++ + CLI——也许我应该更明确一些。如果是本地C++,那么他不会谈论互操作,或者只添加一个项目引用,它会自动复制DLL,或者只添加一个项目引用,它将自动复制DLL。