2012-06-05 39 views
1

我剛剛遇到了Visual Studio選項,將文件作爲鏈接引用。我認爲我注意到了基本概念,並且自己也曾使用過它。但是,當我意識到nuget如何在引導程序中利用此功能時,我發現自己想知道與正確分層和引用另一個程序集相比,它有什麼好處?爲什麼nuget Bootstrapper使用如此多的鏈接類

任何人都可以指出在這裏使用鏈接類對分層+引用另一個程序集的好處嗎?

Nuget bootstrapper using linked classes

回答

2

具有較小的依賴性。 NuGet引導程序的目的是讓引導nuget.exe的邏輯最少,而不必複製大量代碼(這就是爲什麼共享某些文件的原因)。在這種特殊情況下,我們不希望有一個不必要的額外組裝,nuget引導程序是一個exe文件。

+0

Mmh。它不只是一個單一的exe,因爲它後來得到ILMerged。看起來好像它已經被分層到nuget.exe和Nuget.Core.dll中,後者被合併。 – Christoph

+0

引導程序沒有任何東西被ILMerged。 NuGet.exe與NuGet.Core.dll進行了ILMerged,並且相當龐大(相對)。引導程序有足夠的代碼來完成基本的任務(例如使用相同的邏輯nuget.core下載最新版本)。 – davidfowl

+0

好吧,所以基本上你不希望引導程序對Nuget.Core.dll(也可能是具有單個引導程序exe的ILMerge)進行依賴,以使引導程序的文件大小更小。好吧,可能是合理的..只是試圖熟悉可用的選項;-) – Christoph

相關問題