2011-12-27 119 views
3

我已經成功地將其他.dll文件到其他C#項目是這樣的:如何FreeImage.dll添加到C#項目

Right click Reference > Add Reference > Browse > Double click the .dll file

但微軟Visual Studio 2008點中的問題如下抱怨:

A reference to ...\dll\FreeImage.dll could not be added. Please make sure that the file is accessible, and that it is a valid assembly or COM component.

我正在使用.NET Framework 3.5。我相信這是一個32位的DLL(它與FreeImage3151Win32下載),所以我改變了項目的配置到x86。

什麼是將FreeImage.dll添加到C#項目的正確方法?

+2

是FreeImage.dll a .Net dll嗎?你可以用ildasm,反射鏡或ilspy打開它嗎? – rene 2011-12-27 19:19:55

+0

我猜測(因爲這個庫也可以在Linux上運行)該DLL公開了一個C API。如果是這樣,你需要使用Interop聲明所有的DLL導出,就像你對Win32 API的聲明一樣。或者找到已經完成的人。 – arx 2011-12-27 19:22:48

回答

9

使用下載中提供的wrapper\Wrapper\FreeImage.NET\cs\Samples目錄中有C#示例。

+0

不,它不再在該目錄中。 – 2012-09-23 12:11:07

+0

我只是嘗試下載似乎是最新的二進制文件(3.15.3),它仍然在我的目錄中。你在哪裏? – keyboardP 2012-09-23 14:04:27

+0

FreeImage3153.zip所以我猜這是相同的版本: -/ – 2012-09-23 14:24:02

0

我以前見過這個文件,下載的文件是從互聯網上被文件系統「攔截」的。嘗試進入文件的屬性並單擊「解除阻止」按鈕。

+0

這不是在這種情況下的問題 – kev 2011-12-27 19:22:52

1

FreeImage.dll不是.net dll。你需要在.Net中編寫一個包裝器,它調用了非破壞代碼的方法。有一個例子here,但他們也是在二進制分發here

-3

保存文件提供一個.NET包裝到bin文件夾,然後單擊項目>添加引用>瀏覽>雙擊.dll文件

C# sharp helps link

0

在當前版本(3.15.4)中,必須在FreeImage \ Wrapper \ FreeImage.NET \ cs中構建項目以生成C#的DLL。然後你可以在FreeImage \ Wrapper \ FreeImage.NET \ cs \ Library \ bin \ Release或Debug中找到它。