2013-10-09 21 views
0

在我的應用程序中,我需要引用將在目標系統上的GAC中但我無法直接訪問的dll。然後我還需要在我的應用程序上運行dotfuscator。注:我實際上有權訪問.dll,但這不是它將如何在生產,所以我想弄清楚,如果我沒有它。 關於如何完成此任何想法?如何引用我們沒有的GAC中的dll

+1

位於GAC中的DLL將自動加載。還是我完全誤解了你? – jgauffin

+0

你想開發針對DLL沒有它實際上在開發機器上? – David

+0

@David,no:_「注意:我實際上可以訪問.dll,但這不是生產中的方式」_「。 – CodeCaster

回答

2

只需添加對DLL的引用並將Copy Local設置爲False即可。這樣,應用程序將在沒有DLL的情況下發布,並期望它出現在客戶端的系統上,它將在GAC中:

閱讀How the Runtime Locates Assemblies瞭解更多信息。

+0

當我這樣做時,我的混淆步驟失敗,因爲我認爲它正在查找程序集並找不到它。我可能能夠在我的開發機器上進行gacutil/install,但是這不會在構建機器上運行... –

+0

如果您已經在您的問題中告訴過您,它可以節省您和我的時間。我什麼都不會想。您確定混淆過程中的錯誤是由混淆器無法找到此程序集引起的嗎? – CodeCaster

+0

是的。如果我將Copy Local設置爲true,則可以使用。但是,當我這樣做,然後再刪除.dll,以便它不會部署到目標系統時,我的應用程序不會運行。這就好像只有當.dll位於目標文件夾中並且它不在GAC中查看時纔會起作用。 對不起,我不清楚這一點。 –