2017-06-02 78 views

回答

2

與.NET Framework不同,.NET Core可以從六個位置解析程序集。這包括NuGet緩存,服務緩存,運行時存儲,本地應用程序目錄和共享框架文件夾。在開發過程中,這些通常在NuGet緩存中找到(%USERPROFILE%.NuGet \ packages)這使得在發佈應用程序之前不需要將引用的程序集複製到構建輸出文件夾(bin)。有關如何工作的更多詳細信息,請參閱https://github.com/dotnet/core-setup/blob/master/Documentation/design-docs/corehost.md

您可以強制SDK通過設置下面的正確方式將程序集複製到build文件夾,但會增加磁盤使用和構建時間。

<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies> 

或者您可以使用deps.json和runtimeconfig.json文件來查找所需的程序集。

+0

這是一個愚蠢的選擇。首先確保它的工作。只是。 (=箱的方式)即使它使用更多的空間。然後,只有警告用戶,如果他準備在配置文件和[非]已知位置上調整x數量的密鑰,那麼可能會有更好的方法。我沒有時間。 – frenchone