加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

从C#应用程序添加一个引用到没有/ clr编译的DLL?

发布时间:2020-12-15 18:06:18 所属栏目:百科 来源:网络整理
导读:我正在使用Visual Studio 2008构建一个包含两个项目的解决方案:C#控制台应用程序和C DLL.我希望应用程序使用P / Invoke从dll调用函数.因此,我正在尝试将dll添加为C#应用程序的参考.但是当我尝试添加引用命令时,Visual Studio将不允许我这样做,除非我在dll上
我正在使用Visual Studio 2008构建一个包含两个项目的解决方案:C#控制台应用程序和C DLL.我希望应用程序使用P / Invoke从dll调用函数.因此,我正在尝试将dll添加为C#应用程序的参考.但是当我尝试添加引用命令时,Visual Studio将不允许我这样做,除非我在dll上设置/ clr属性(在Configuration Properties:General下).现在,我认为P / Invoke可以处理普通的win32 dll.实际上,如果我在没有/ clr的情况下构建我的dll并且只是手动将它复制到bin / Debug,那么应用运行正常.那么为什么/ clr需要添加dll作为参考?如果VS不允许我添加它,是否有一些(干净的)解决方法,以便我的应用程序找到DLL?

我看到有人在这里有类似的问题(虽然有第三方dll):
Unable to add a DLL Reference to VS 2008他得到的答案是建立一个包装纸.但这并不是必需的,因为应用程序可以使用dll就好了;它只是添加引用步骤不起作用.此外,包装器代码是否需要引用dll,引发与以前相同的问题?我真的很喜欢一个不涉及编写包装器的答案.

解决方法

为什么不添加一个生成后步骤来将非托管DLL复制到项目目录中?您不需要“引用”来引用非托管DLL,这听起来像您遇到的唯一问题是由于文件没有自动复制到搜索路径中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读