繁体   English   中英

为什么类库(dll)也不会生成lib文件?

[英]Why doesn't Class Library (dll) also produces a lib file?

我正在尝试使用C ++(C ++ / Cli)项目创建和使用C#库(dll)。 但是,我的C#库不随(或产生).lib文件。 有人告诉我我需要一个lib文件,但不确定如何产生它。

您可以在这里查看代码

我已经在我的C ++项目中包含了.dll文件,但无法运行。

我收到以下错误:

未知模块中发生了'System.IO.FileNotFoundException'类型的未处理异常。其他信息:无法加载文件或程序集'ClassLibrary1,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'或其依赖项之一。 该系统找不到指定的文件。

我对使用.dll和.lib文件很陌生。 这个问题与我在这里找到的其他问题有关

.NET程序集(在您的情况下为C#库)不是普通的dll,也就是说,它们不像其他标准(本机)Windows dll那样公开其API。 相反,它们以其他.NET只能理解的方式公开其API。

有两种方法可以为C ++项目公开.NET API。

1-将C ++本机项目转换为托管C ++项目(即.NET C ++程序集),然后可以将C#库作为.NET引用添加到C ++项目,并将其称为托管库。

2-您可以将.NET库转换为COM +库,然后将其作为COM +依赖项从C ++中使用。

简而言之,通过.lib文件直接使用.NET API并不是.NET的功能

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM