以爲我會嘗試並充分利用我的visualstudio.com試用會員資格。我使用一些項目創建了一個解決方案,將其推送到Microsoft git源代碼控制提供程序,配置構建定義並嘗試在項目服務器上構建它。但是它一直沒有告訴我:VisualStudio.com(Visual Studio團隊服務)在nuget軟件包依賴關係上構建失敗
類型或命名空間名稱「起訂量」無法找到(你 缺少using指令或程序集引用?)
我知道這意味着生成服務器無法找到Moq.dll庫。我已經使用NuGet安裝了它,但配置了我的.gitignore以使包文件夾不受源代碼管理。我還爲解決方案啓用了NuGet軟件包恢復功能,並將nuget.exe,nuget.targets和nuget.config(.nuget文件夾中的所有文件)與其他所有項目文件一起推送。
現在我確定我可以讓構建工作,如果我也推動包文件夾,但我想保持nuget包文件夾脫離源代碼管理。所以我想知道,這可能嗎? visualstudio.com文檔說,構建服務器安裝了visual studio 2013,因此我假設nuget包恢復將工作以下載缺少的dll,以便可以通過MSBuild解析它們。這是正確的嗎?或者在visualstudio.com上使用自動CI構建,你是否需要將你的軟件包放在源代碼控制之下?
根據日誌文件,nuget包恢復下載了該包。是什麼賦予了?
項目 「C:\一個\ SRC \ MySln.sln」(1)正在構建 「C:\一個\ SRC \測試\ MySln.ProjA.UnitTests \ MySln.ProjA.UnitTests.csproj」 (3)在節點1上(默認目標)。 RestorePackages:
「C:\ a \ src.nuget \ NuGet.exe」install 「C:\ a \ src \ Tests \ MySln.ProjA.UnitTests \ packages.config」-source「」 - NonInteractive -RequireConsent - solutionDir「C:\ a \ src \」恢復NuGet包...爲防止NuGet在構建過程中下載包,請打開Visual Studio選項對話框,點擊包 管理器節點並取消選中「允許NuGet下載缺失的包」 。
packages.config中列出的所有軟件包已安裝。 PrepareForBuild:創建目錄「obj \ Debug \」。 ResolveAssemblyReferences:主要參考「Moq」。 C:\ Program Files (x86)\ MSBuild \ 12.0 \ bin \ amd64 \ Microsoft.Common.CurrentVersion.targets(1635.5): 警告MSB3245:無法解析此引用。找不到 組件「Moq」。檢查以確保程序集存在於磁盤上。如果 此引用是您的代碼所必需的,則可能會收到編譯 錯誤。 [C:\ A \ SRC \測試\ MySln.ProjA.UnitTests \ MySln.ProjA.UnitTests.csproj]
這條線也是在生成日誌文件,低於上述:
考慮到「.. \ packages \ Moq.4.1.1311.0615 \ lib \ net40 \ Moq.dll」,但它不存在。
好吧,刪除本地文件夾和獲取最新的把戲我在LM錯誤,這是一個很好的提示 – bresleveloper
上面,刪除本地解決方案文件夾與nuget包文件夾,並試圖建立時得到最新,併成功建立後檢查,3-4次,並一次又一次修復引用錯誤,它終於奏效。 – bresleveloper