我正在嘗試使用Growl C# API
做一個簡單的c#
程序。csc.exe參考外部.dll文件
我試圖編譯我的程序以兩種不同的方式:
1)我一直在我.dll
文件在同一目錄作爲我.cs
文件。比我跑
csc /r:Growl.Connector.dll,Growl.CoreLibrary.dll /out:test.exe *.cs
它編譯得很好,也運行良好。
2)現在,我在當前工作目錄中創建了一個名爲growl
的目錄,並保留了我所有的.dll
引用。
現在,當我嘗試使用下面的命令
csc /r:"D:\Modified\Growl_NET_Connector_SDK\libraries\growl\Growl.Connector.dll","D:
\Modified\Growl_NET_Connector_SDK\libraries\growl\Growl.CoreLibrary.dll" /out:test.exe *.cs
它編譯罰款,編譯它,但是當我試圖運行它發生下面提到的例外。
Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'Growl.Connector, Version=2.0.0.0, Culture=n
eutral, PublicKeyToken=980c2339411be384' or one of its dependencies. The system cannot find the file specified.
at GrowlNotification.Program.Main(String[] args)
所以,我的問題是什麼是引用.dll
文件中csc
當文件在一個外部文件夾的正確方法。
以下是第二種情況的directory structure。
因此,我無法將'.dll'文件保存在外部文件夾中,只需雙擊''.exe'即可。正如我從你的回答中所理解的那樣,'.dll'文件應該在運行時與.exe位於同一文件夾中。 – RanRag
@Noob:如果你添加一個app.config文件來指定私人bin路徑探測,我相信它可能在*子目錄*,但這只是增加了更多的複雜性。如果一切都在同一個目錄中,那麼所有*更簡單。 –
感謝您的信息。 – RanRag