2009-10-05 72 views
0

其實我用我的項目引用兩個外部DLL。 我想網絡建立參考路徑,但迫使c#在我的應用程序路徑中搜索DLL。從app.config的DLL參考?

我在myapp「.netlibs」中創建了一個文件夾,並在那裏放入了我的dll,並將它們從References部分中刪除。

我把這個的app.config:

<runtime> 
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
    <probing privatePath=".netlibs" /> 
</assemblyBinding> 

但它不工作?

如果我錯過了什麼,你知道嗎?

在此先感謝。

+0

請描述「不工作」。你有錯誤嗎?如果你不再引用它們,你如何加載它們?請給我們看一些代碼。 – 2009-10-05 08:29:08

+0

嗨拉爾斯。我的意思是它試圖編譯時給我錯誤。無法找到類型或名稱空間「xxxxxx」.... – 2009-10-05 08:32:44

回答

0

裝配探測僅在運行時可用。在編譯時,您總是需要在項目中引用外部程序集。

我可以從你的評論中瞭解到,你正在嘗試編譯你的項目沒有參考。

評論後編輯:把常見的引用放在源代碼管理中,在更高級別的某個地方引用它們。如果您在創建引用後打開csproj文件,則路徑應該是動態的,例如:../../References/MyReference.dll。每個開發者都應該做一個最新的程序集。

另一種選擇是將它們放入每臺開發人員機器上的GAC中。

+0

嗨Gerrie.You對我的編譯是正確的。如果我把一個參考如:c:\ develop \ myapp \ .netlibs \ CSzip.dll編譯並運行就可以了。但是,如果我的同事把我的項目放在:c \ dev \ myapp,那麼引用將不再一樣:那麼他將如何編譯和運行該項目? – 2009-10-05 08:51:16

+0

好的,謝謝你的額外信息。 – 2009-10-05 09:03:55

+0

謝謝。將dlls的文件夾放入應用程序根目錄並添加對它的引用是非常好的主意。 – 2009-10-05 10:09:02