2017-02-23 123 views
1

我有幾個共享某些常見項目的解決方案,例如包含訪問我的數據模型的所有必備項目的項目。在解決方案之間共享項目時的NuGet

Solution Explorer situation

實際的問題是,試圖與在的NuGet一個proyect具有相關性(前。Iesi.Collections)安裝軟件包,將在當前解決方案目錄中,而不是在proyect目錄DLL的引用。然後,當我嘗試去我的另一個解決方案時,共享項目無法編譯(因爲缺少程序集)。

First path reference 我已經找遍了所有周圍以獨立的方式在解決方案之間共享項目中使用的NuGet Second path reference

所以問題是......我如何管理獲得一個獨立的行爲和NuGet的解決方案之間的引用?

+0

你真的用一堆領先的空格來命名你的項目嗎? –

+2

@WimOmbelets它被稱爲隱私......任何項目名稱中都沒有空格 – rpfc

回答

1

解決此問題的一種方法是將.nuget\NuGet.config文件添加到所有解決方案,並將repositoryPath設置爲一個已決定的本地文件夾。

this link,假設你使用VS2015:

  1. 創建解決方案(文件系統)的根.nuget文件夾(如果您無法使用創建一個文件夾.nuget Windows資源管理器,您可以通過輸入.nuget.來代替)

  2. 在該文件夾中,創建一個文件NuGet.config。

  3. 在Visual Studio 2015年,右鍵單擊該解決方案,並添加一個名爲「.nuget」一個新的解決方案目錄

  4. 右擊該文件夾,然後選擇添加新的現有文件,並選擇的NuGet。 (2)中創建的配置文件。

  5. 這樣添加內容NuGet.config文件內:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <solution> 
    <add key="disableSourceControlIntegration" value="true" /> 
    </solution> 
    <config> 
    <add key="repositoryPath" value="..\..\..\..\NugetPackages" /> 
    </config> 
</configuration> 
  • 重新啓動Visual Studio
  • 注意您必須修復現有的引用,例如通過刪除並重新添加所有包。

    我個人使用包的絕對路徑,因爲不是我的所有解決方案都在同一個文件夾層次結構中 - 如果你在一個團隊中,你可能想先討論這個問題。

    +0

    非常感謝!這似乎很好;) – rpfc

    相關問題