簡體   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